Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «mccool»

Дженнифер Лопес (Jennifer Lopez) в фотосессии фотосессии Майкла Томпсона (Michael Thompson) для журнала Allure (январь 2001). 2012-08-14 18:47:52
+ развернуть текст сохранённая копия
Тэги: (michael, 2001, allure, thompson), актриса, латиноамериканец, майкл, певица, рубрика, томпсон, январь
McKayla Is Not Impressed By This Meme 2012-08-09 18:18:34
McKayla Maroney is only a teenage girl, yet she is a fierce competitor with a that could scare the c
+ развернуть текст сохранённая копия
McKayla Maroney is only a teenage girl, yet she is a fierce competitor with a that could scare the crap out of a grown man. So you can understand why she didn't want to have anything to do with hugging the winner of vault On Sunday at the 2012 Olympic Games in London, United States
Тэги: maroney, mckayla
Рекламная кампания коллекции осень-зима 2012 от Michael Kors 2012-08-09 11:53:28
Предстоящая осень радует нас красивыми рекламными кампаниями, одной из которых, я очень хочу с вами
+ развернуть текст сохранённая копия
Предстоящая осень радует нас красивыми рекламными кампаниями, одной из которых, я очень хочу с вами поделиться. Рекламная кампания посвященная коллекции осень-зима 2012 от Michael Kors — настоящая голливудская сказка. В новой коллекции Michael Kors использовал несколько...
Тэги: 2012, kors, michael, nessman, simon, кампания, коллекция, мода/стиль, осень-зима, рекламный
McKayla Maroney isn't a "mean girl" 2012-08-07 20:19:56
McKayla Maroney of the U.S. & Romania's Sandra Izbasa faced off in the women's vault
+ развернуть текст сохранённая копия
McKayla Maroney of the U.S. & Romania's Sandra Izbasa faced off in the women's vault finals at the 2012 Summer Olympics. Find out who came out on top. McKayla Maroney is only a teenage girl, yet she is a fierce competitor with a that could scare the crap out of a grown man. So you
Тэги: maroney, mckayla
[recovery mode] Защита от SQL-инъекций в PHP и MySQL 2012-08-06 09:22:18
К своему удивлению, я не нашёл на Хабре исчерпывающей статьи на тему защиты от инъекций. Поэтому реш
+ развернуть текст сохранённая копия
К своему удивлению, я не нашёл на Хабре исчерпывающей статьи на тему защиты от инъекций. Поэтому решил написать свою.
Несколько пространный дисклеймер, не имеющий прямого отношения к вопросуДавайте признаем факт: количество статей (и комментариев) на тему защиты от SQL-инъекций, появившихся на Хабре в последнее время, говорит нам о том, что поляна далеко не так хорошо истоптана, как полагают некоторые. Причём повторение одних и тех же ошибок наводит на мысль, что некоторые заблуждения слишком устойчивы, и требуется не просто перечисление стандартных техник, а подробное объяснение — как они работают и в каких случаях должны применяться (а в каких — нет).
Статья получилась довольно длинной — в ней собраны результаты исследований за несколько лет — но самую важную информацию я постараюсь компактно изложить в самом начале, а более подробные рассуждения и иллюстрации, а так же различные курьёзы и любопытные факты привести в конце. Также я постараюсь окончательно развеять множественные заблуждения и суеверия, связанные с темой защиты от инъекций.
Я не буду пытаться изображать полиглота и писать рекомендации для всех БД и языков разом. Достаточное количество опыта у меня есть только в веб-разработке, на связке PHP/MySQL. Поэтому все практические примеры и рекомендации будут даваться для этих технологий. Тем не менее, изложенные ниже теоретические принципы применимы, разумеется, для любых других языков и СУБД.
Сразу отвечу на стандартное замечание про ORM, Active record и прочие query builders: во-первых, все эти прекрасные инструменты рождаются не по мановению волшебной палочки из пены морской, а пишутся программистами, используя всё тот же грешный SQL. Во-вторых, будем реалистами: перечисленные технологии — хорошо, но на практике сырой SQL постоянно встречается нам в работе — будь то legacy code или развесистый JOIN, который транслировать в ORM — себе дороже. Так что не будем прятать голову в песок и делать вид, что проблемы нет.
Хоть я и постарался подробно осветить все нюансы, но, вполне возможно, некоторые из моих выводов могут показаться неочевидными. Я вполне допускаю, что мой контекст и контексты читателей могут различаться. И вещи, которые кажутся мне сами собой разумеющимися, не являются таковыми для некоторых читателей. В этом случае буду рад вопросам и уточнениям, которые помогут мне исправить статью, сделав её более понятной и информативной.
Ещё только начав интересоваться темой защиты от инъекций, я всегда хотел сформулировать набор правил, который был бы одновременно исчерпывающим и компактным. Со временем мне это удалось:
Правила, соблюдение которых гарантирует нас от инъекций
- данные подставляем в запрос только через плейсхолдеры
- идентификаторы и ключевые слова подставляем только из белого списка, прописанного в нашем коде.
Всего два пункта.
Разумеется, практическая реализация этих правил нуждается в более подробном освещении.
Но у этого списка есть большое достоинство — он точный и исчерпывающий. В отличие от укоренившихся в массовом сознании правил «прогонять пользовательский ввод через mysql_real_escape_string» или «всегда использовать подготовленные выражения», мой набор правил не является катастрофическим заблуждением (как первое) или неполным (как второе).
Но вперёд, читатель — перейдём уже к подробному разбору.
Читать дальше →
Тэги: injection, mysql, mysqli, pdo, php, prepared, sql, statement, безопасность, информационный
Главная / Главные темы / Тэг «mccool»
|
Взлеты Топ 5
Падения Топ 5
|