MySql
- искейпинг нужен для входящих данных
- искейпинг делает "вредные" символы "безопасными".
- искейпинг вообще имеет какое-то отношение к защите от инъекций.
- вообще какая бы то ни было работа с входящими данными имеет отношение к инъекциям.
- что mysql_real_escape_string "принимает во внимание текущую кодировку". и поэтому она лучше, чем addslashes()
- что подготовленные выражения - защита от всего, silver bullet
- что подготовленные выражения "быстрее".
если это родные подготовленные выражения, которыми занимается база, то никакой искейпинг тут не нужен - суть подготовленных выражений в том, что данные попадают в неё отдельно от запроса и поэтому искейпить ничего не надо.- что при использовании подготовленных выражений искейпингом занимается база
Как выяснилось, PDO лишь эмулирует [родные] препареды, в припадке поддержания обратной совместимости, видимо. И нормально формирует внутри себя обычный SQL, выполняя его без всяких prepare/execute. Становясь, как следствие, подверженной классической атаке на экзотическую кодировку GBK. Практического смысла в этой информации ноль, но для красного словца вполне годится.- "Я использую PDO и вообще не думаю об инъекциях - база делает всё сама"
В общем, PDO_EMULATE_PREPARES надо в сразу ставить в FALSE, а кодировку задавать в DSN-е.
Ну, вот это как раз из провокационных заявлений.- "Я использую ORM и работаю с объектами, а SQL в глаза не вижу"
Сводится к тому, что на всякий хитрый ORM всегда найдётся запрос с винтом, который будет просто невозможно написать средствами ORM-a. То есть, имеется в виду, что совсем от SQL сбежать невозможно, и поэтому его надо знать, в том числе - и безопасность.
В принципе, это отличная стратегия: для простых запросов - простой ORM, а для сложных - SQL. Без крайностев. Впрочем, такой подход всё равно везде применяется. Вопрос в отношении - мы делаем SQL осмысленно, а не в виде неприятного исключения из нашего красивого ORMа
Ну, имеется в виду, что мы заткнули ошибку собакой и забыли о ней. или еще вот error_reporting(0) практикуется частенько, как универсальное средство борьбы с ошибками.Ошибки
- самое главное заблуждение - подмена обработки ошибки обработкой сообщения об ошибке.
- Когда избавляются от сообщения, но не избавляются от ошибки.
- что собака давит только одну ошибку, которую мы ждём!!!
Шаблоны
- Шаблон - это "дизайн" сайта, а остальное по-старинке
- Шаблоны нужны "дизайнеру", чтобы он мог их править, не разбираясь в PHP.
- Следовательно, шаблоны служат для отделения PHP от HTML.
- в блочном шаблоне нет логики
Разное.
- оптимизация заключается в использовании более быстрых функций
- xff как ip адрес
В сущности, это только наброски, и детально проработана только mysql часть.Смешное
- кавычки относятся к синтаксису операторов (Echo, ключи массива, аргументам функций), а не являются ограничителями строк
Никакую америку этот список не открывает, но здесь просто собраты самые распространённые заблуждения, с которыми приходится сталкиваться на форумах.
Некоторые из них особенно живучи, поскольку, будучи заученными бездумно во времена блаженного нубства, так и остались в памяти, как аксиомы.