- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Как грамотно защититься от SQL injection?
Может кто поделиться своими мыслями
Например:
1:
$sql_inj = array("'", ";", "/**/", "/UNION/", "/SELECT/", "AS ", "EVAL","<?",'"',"$",'..');
foreach($sql_inj as $res)
{
if(stristr($_SERVER['QUERY_STRING'], $res)) die("SQL-inj....");
}
2.
Фильтровать все данные вводимые через формы.
$sql_inj = array("'", ";", "/**/", "/UNION/", "/SELECT/", "AS ", "EVAL","<?",'"',"$",'..');
Помоему вы забыли отфильтровать ( и ) вом не кажеться ?
Контролировать макс. длинну значения, что ввел пользователь. Явно отрезать все лишнее функцией substr, например $q=substr($q, 0, 64);
Все текстовые запросы (ключевые слова для поиска), если такое допустимо, пропускать через функцию htmlspecialchars, например $q=htmlspecialchars($q);.
или
Вырезать все символы кроме буквенных, например:
$q=preg_replace("/[^\w\x7F-\xFF\s]/", " ", $q);
Все числовые переменные явно преобразовывайте в число, например $page=(int)$page;
Не стоит недооценивать пользователей и забывать о числовых переменных.
Этого должно хватить, чтобы защититься от большинства пакостей, что могут преподнести пользователи.
Вы еще про DELETE забыли...
Irh, Вы чего-нибудь толковое почитайте на этот счет, чтобы людей не деизнформировать ;)
Timen, то же самое
или
Вырезать все символы кроме буквенных, например:
$q=preg_replace("/[^\w\x7F-\xFF\s]/", " ", $q);
Наверно проще не вырезать все а пускать только то, что нужно..
Ну есть ситуации когда пользователь вообще ничего не вводит как быть тогда ???
Вы чего-нибудь толковое почитайте на этот счет, чтобы людей не деизнформировать
Простите а вы чего нибудь добавите ?
Наверно проще не вырезать все а пускать только то, что нужно..
Ну есть ситуации когда пользователь вообще ничего не вводит как быть тогда ???
Да, я неправильно выразился. После отработки указаной ф-и останутся только допустимые символы.
У сайта есть параметры (явные переменные), что передаются в url строке, например site.com/?a=1&b=2. ?
Простите а вы чего нибудь добавите ?
http://phpfaq.ru/slashes
Irh, Вы чего-нибудь толковое почитайте на этот счет, чтобы людей не деизнформировать ;)
Timen, то же самое
Я сам использую предложенный мной вариант и мои сайты не ломали ни разу.
Конечно же, я буду очень признателен за ссылку(и) на статьи или доки по теме или просто рекомендации.