- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
<?php
include(db_connect.php);
$name = $_POST["name"];
$pass = $_POST["pass"];
$email = $_POST["email"];
$data = "INSERT INTO userlist (id_user, name, pass, email) VALUES (NULL , "$name" , "$pass" , "$email" )";
if(mysql_query($data)){
echo("data transfered");
}else{
return false;
}
?>
norto, очевидно, что здесь ошибка в Деструктуризации Нормальной Конкатенации.
Отлично
Доооо...
2. Данные, встраиваемые в SQL-запрос, не экранированы: бегом читать о том, что такое 'SQL-инъекции'.
3. Совершенно бессмысленные переменные $name, $pass, $email.
4. Использование давно устаревшей библиотеки mysql, что приводит к необходимости встраивать значения непосредственно в sql-выражения. Библиотеки mysqli и pdo позволяют использовать 'подготовленные выражения', что обеспечивает защиту от инъекций и не требует явного экранирования значений.
Правда, одну ошибку ты так и не обнаружил. Но всё равно - смерть тебе.
И ты бегом читай, что такое параметризированные запросы.
2. бегом читать о php.ini.
3. внутри представленного контента возможно, но может парень вырезал пару строк?..
4. что mysqli, что pdo предоставляют возможность "встраивать значения непосредственно в sql-выражения", давайте запинаем их ногами.
Более того, во многих диалектах sql можно юзать только 'строку' но не "строку".
> бегом читать о php.ini
Еще один фанат магических кавычек?
> давайте запинаем их ногами
А mysql, в отличие от mysqli и pdo вообще не позволяет делать что-то кроме "вставки значений в строку запроса". Собственно уже за это ее надо закопать.
This feature has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0.
Помним. Скорбим.
рандом упаси! смысл был заложен не в это. )))
> Собственно уже за это ее надо закопать.
покажите мне где я был против? и, опять же, смысл не в этом. )))
З.Ы. меня болеше порадовало
if (...)
echo '...';
else
return false;
А во что?
Эх, кто не видел \' на страницах? Алсо, от кодированных строк (хекс итд) оно не спасало вообще никак.
2. Это ты про устаревший идиотизм под названием "магические кавычки"?
3. Не мои проблемы. Что опубликовано - то и комментируется.
4. Бегом читать мануалы по PHP. Именно библиотека mysql, использованная автором вопроса, не позволяет сделать ничего, кроме прямого встраивания данных в запрос. Упомянутые же мной библиотеки mysqli и pdo позволяют использовать - в терминах php - "подготовленные выражения" (в visual studio именуемые "параметризованными запросами").