Ужасно вдруг зачесалось сделать доклад на конфу по изъезженной вдоль и поперёк теме SQL инъекций с сеансом разоблачения суеверий и предрассудков, к примеру:
- что искейпинг нужен для входящих данных
- что mysql_real_escape_string - это универсальная защита от инъекций, делает "вредные" символы "безопасными".
- что mysql_real_escape_string вообще имеет какое-то отношение к защите от инъекций.
- что mysql_real_escape_string "принимает во внимание текущую кодировку"
- что препареды - защита от всего, silver bullet
- что препареды "быстрее".
- что препареды "безопаснее", чем искейпинг (спорное, в принципе, утверждение, но в целом...)
- что при использовании препаредов искейпингом занимается база
- что запрос из комикса про мальчика Bobby Tables сможет нанести хоть какой-то вред стандартному PHP/MySQL приложению.
И с рекомендациями, что делать и как жить правильно.
С одной стороны, я понимаю, что (в теории) 2011 на дворе, никакого искейпинга, кругом препареды. Никаких запросов - кругом ОРМ, что давно всё пережёвано и разъяснено.
С другой - на практике я постоянно натыкаюсь на людей, убеждённых в каких-либо пунктах свыше, и на код, написанный исходя из этих убеждений, и на old good plain mysql.
или, всё-таки, контингент конфы составляют люди, которым это всё прописные истины и объяснять их не нужно?
- что искейпинг нужен для входящих данных
- что mysql_real_escape_string - это универсальная защита от инъекций, делает "вредные" символы "безопасными".
- что mysql_real_escape_string вообще имеет какое-то отношение к защите от инъекций.
- что mysql_real_escape_string "принимает во внимание текущую кодировку"
- что препареды - защита от всего, silver bullet
- что препареды "быстрее".
- что препареды "безопаснее", чем искейпинг (спорное, в принципе, утверждение, но в целом...)
- что при использовании препаредов искейпингом занимается база
- что запрос из комикса про мальчика Bobby Tables сможет нанести хоть какой-то вред стандартному PHP/MySQL приложению.
И с рекомендациями, что делать и как жить правильно.
С одной стороны, я понимаю, что (в теории) 2011 на дворе, никакого искейпинга, кругом препареды. Никаких запросов - кругом ОРМ, что давно всё пережёвано и разъяснено.
С другой - на практике я постоянно натыкаюсь на людей, убеждённых в каких-либо пунктах свыше, и на код, написанный исходя из этих убеждений, и на old good plain mysql.
или, всё-таки, контингент конфы составляют люди, которым это всё прописные истины и объяснять их не нужно?