_GET и mysql_query: служебный роман |
[июн. 1, 2013|03:23 pm]
Anatoly Vorobey
|
_GET и mysql_query вместе
75 тысяч результатов.
Это из реддита с прекрасным названием lolphp, в котором есть много смешного - например, вот эта лошадь:
 |
|
|
Comments: |
на первой страничке 2/3 результатов кажется не уязвимость, а тесты сервиса (test04.php) или тесты уязвимостей "sampleSQLInjection.php"
Ну, зато дальше там адок начинается стопроцентный, без скидок :) Я бы сказал, что проблема даже не в уязвимости - само по себе нахождение этих двух токенов в одном файле не означает обязательное её наличие - а, скорее, в общей культуре "пхп кодинга". По-хорошему, _GET и mysql_query не должны встречаться в рамках одного скрипта вообще.
Edited at 2013-06-01 14:06 (UTC)
Ну, (int)$_GET[id] уже на третей странице есть, mysql_real_escape_string я правда не нашёл.
Найти-то легко - просто добавив её в поиск. Функции искейпинга строк встречаются в одной трети найденных скриптов. Другое дело что она, в отличие от (int), никак не гарантирует защиту.
Ну да, в PHP тернарный оператор левоассоциативный. Это надо просто знать, не вижу тут поводов для смущения только из-за того, что ребята из других языков привыкли, что всё работает иначе.
"Дети, это нельзя понять, это можно только запомнить" (с) С того же подреддита: 
Да уж прям. Какое место вы не понимаете? Тут просто действуют несколько разных правил.
я до сих пор не помню (а может и не знаю), какая ассоциативность у тернарного оператора где бы то ни было. Стараюсь не писать их вложенными, потому что получается нечитаемая конструкция. А приходится, то ставлю скобки, потому что иначе получается нечитаемая конструкция.
Какой-то злобный садист придумал и вставил в PHP левоассоциативный тернарный оператор для запугивания бедных нубов. Или это хитрый тактический прием для введения в заблуждение потенциального противника, я не понял? Кому и зачем еще может понадобиться такая штуковина? В каком смысле, кроме перечисленных выше, она «работает»?
В случае создания php вопрос "почему" не имеет смысла Тут работает бритва хэнлона
Я давно говорю, что пора начинать писать фронтенд на PHP. Как ответ Node.js
From: aso 2013-06-05 12:32 pm
| (Link)
|
Я практически не понимаю, как такое может быть. | |