Форум → Программирование → PHP для идиотов → Уязвимости и mysql инъекции
Уязвимости и mysql инъекции
-
20 марта 2009 г. 10:27, спустя 39 секунд
Timur, O_o а зачем?https://smappi.org/ - платформа по созданию API на все случаи жизни -
-
20 марта 2009 г. 11:40, спустя 18 минут 41 секунду
Timur, бросай эту привычку :)https://smappi.org/ - платформа по созданию API на все случаи жизни -
20 марта 2009 г. 11:56, спустя 16 минут 10 секунд
adw0rd, код длиннее, результат - один. когда не критично, предпочитаю класть хуй на нотисы :)Сапожник без сапог -
20 марта 2009 г. 12:43, спустя 47 минут 16 секунд
Сказал бы это кто из новичков, таких бы виртуальных люлей сейчас огреб …. ))))))))))))))))))))
предпочитаю класть хуй на нотисы :)
В общем я солидарен с adw0rd-ом, это ИМХО херовый стиль. Результат один - не оправдание. Можно еще не структурировать код, делать все глобальными переменными, не определять константы итд итп. Да дохера всего еще можно, что на результат вроде как не влияет … -
20 марта 2009 г. 12:50, спустя 6 минут 16 секунд
AlexB, часто ли ты используешь константы? приведи пример их применения на практике плз :)Сапожник без сапог -
20 марта 2009 г. 13:02, спустя 12 минут 32 секунды
Странный вопрос, примеров дофига можно придумать. Например из реальной жизни …
У меня есть база футболистов, у каждого есть амплуа центральный нападающий, правый защитник, вратарь … для каждого амплуа соответственно есть Role_Id
Когда я отображаю списки футболистов, очень часто для вратаря надо делать какие-то особые обработки, например там где для обычного игрока надо извлечь количество забитых мячей, для вратаря надо извлечь пропущенные. Соответственно в коде что-то типа …
define('ROLE_GOALKEEPER', 12); // 12 - амплуа вратарь
foreach( // перебираем игроков
{
$id_role = GetRoleByPlayer( … );
$goals_count = $id_role == ROLE_GOALKEEPER ? GoalsForPlayer( … ) : GoalsForGoalkeeper( … );
} -
-
20 марта 2009 г. 17:47, спустя 4 часа 20 минут 41 секунду
А этого достаточно чтоб избежать sql инъекции?$_POST = array_map("mysql_escape_string",$_POST);
mysql_query("INSERT INTO page SET name='{$_POST['NAME_PAGE']}' , text='{$_POST['TEXT']}' ");
ну и проверка на существование данных переменных. -
20 марта 2009 г. 17:55, спустя 7 минут 48 секунд
Professor, да достаточно, почитай только про ерей_валк он поудобнее для этих целей :)Сапожник без сапог -
-
20 марта 2009 г. 18:44, спустя 44 минуты 51 секунду
ну что ж, в дополнение остается только процитировать мануал:Замечание: mysql_escape_string() не экраинрует % и _. Функция идентична mysql_real_escape_string(), исключая то, что mysql_real_escape_string() принимает параметром ещё и указатель на соединение и экранирует в зависимости от кодировки. mysql_escape_string() не делает этого и результат работы не зависит от кодировки, в который вы работаете с БД.
субъективно предпочитаю real-версию -
-
20 марта 2009 г. 18:58, спустя 9 минут 4 секунды
да, экранирование для РЕАЛЬНЫХ ПАЦАНОВ это СИЛА ПАЦАНОВ! ))))Сапожник без сапог -
Пожалуйста, авторизуйтесь, чтобы написать комментарий!