- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
В качестве защиты от инъекций многие рекомендуют контроль типов данных перед записью в базу данных, отсев множественных запросов и т.д. Это абсолютно необязательно. Во-первых, MySQL не выполняет никаких множественных запросов функцией mysql_query(). Это заблуждение. phpMyAdmin сам разбивает запросы на несколько. Правило должно быть такое. Все названия полей писать в косых кавычках (`), все данные, даже числовые, писать в одинарных кавычках ('). Сами запросы в php вписывать в двойные кавычки ("). А защита от инъекций пишется в начале общего файла, типа include_all.php:
Конструкция Unset($v) обязательна, т.к. php сохраняет ссылку на переменную и после цикла. И если мы потом напишем $v=1;, то последняя переменная, например, $_COOKIE['user'] станет равна единице.
Конструкция $$k=$v создает переменные, например, из $_COOKIE['user'] создаст $user.
Конструкция if ((strpos($k, '_SERVER') === false) && (strpos($k, '_SESSION') === false)) предотвращает подстановку ложных значений при использовании $$k=$v.
При использовании этой вставки сайт взломать НЕВОЗМОЖНО!
Источник:
http://proksey-net.livejournal.com/942.html
Если понравилось, голосуйте в ЖЖ
Делюсь лучшей защитой от SQL-инъекций: используйте современный PHP фреймворк.
PDO
тоже вариант.
Тут вообще связи не улавливаю.
Конструкция Unset($v) обязательна, т.к. php сохраняет ссылку на переменную и после цикла. И если мы потом напишем $v=1;, то последняя переменная, например, $_COOKIE['user'] станет равна единице.
Посмеялся, если бы это действительно было так ,то Unset($v) удалял бы $_COOKIE['user'] :)
Конструкция $$k=$v создает переменные, например, из $_COOKIE['user'] создаст $user.
А зачем? Если уже есть $_COOKIE['user'], зачем еще переменную создавать? Что бы память кушала?
При использовании этой вставки сайт взломать НЕВОЗМОЖНО!
А если $_COOKIE['user'] или $_POST['user'] является массивом? И в этом массиве возможна инъекция, а Ваша мега защита это пропускает, хотя даже не пропускает, а делает с массива строку ,в общем использование такого скрипта - добавляет гемора и ни отчего не защищает :)
При использовании этой вставки сайт взломать НЕВОЗМОЖНО!
Ага, как же
$v = str_replace("'", "", $v);Особенно такой замене порадуются на украинских сайтах, использующих апостров)
Особенно такой замене порадуются на украинских сайтах, использующих апостров)
как раз это хотел написать. с автора поржал 😂
ТС, что значит mysql_query не делает множество запросов?
Если у этого юзера есть привелегии на UNION, то зловред может сделать объединение запросов(как на многих хакерских форумах учат).
И скажу Вам по секрету, такая конструкция может работать:
2 запроса удачно выполнятся. Но что сделать для этого надо, я Вам не скажу;)
proksey-net, это не защита а УГ. Тогда уж лучше это /ru/forum/774368