Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
3 / 3 / 2
Регистрация: 29.10.2013
Сообщений: 230

Защита от инъекций

03.12.2014, 08:19. Показов 1164. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет, как можно защититься от ввода в форму пароля php тегов, типа select, echo, insert и других.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.12.2014, 08:19
Ответы с готовыми решениями:

Защита от инъекций
Подскажите какие символы остаются не экранированными и угрожают безопасности, если включена директива magic_quotes? Добавлено через 10...

Защита от SQL инъекций
Здравствуйте! Прошерстив 2 дня интернет так и не нашел ответ на свой вопрос. Например если я знаю какие мне данные отправит...

Защита от SQL инъекций
Тема избитая. По ней куча статей, но информация зачастую противоречивая. Во-первых, вопрос - является ли слэширование (' -> \',...

3
217 / 157 / 30
Регистрация: 11.05.2010
Сообщений: 614
03.12.2014, 10:34
Селект, инсерт и тп не пхп тэги и вообще не имеют отношения к пхп.
Для начала нужно понимать что такое SQL-инъекция и тогда станет более понятно как с этим бороться.

Классический пример уязвимости такой:
PHP
1
2
3
$usr = $_POST['user'];
$query = "SELECT * FROM `users` WHERE `user_name` = '$usr' ";
$result = mysqli_query($link, $query);
Тут вроде всё ясно и понятно, но есть одно но.
Если в $_POST['user'] будет кавычка, тогда проявляется наша уязвимость, например:
PHP
1
2
3
$usr = "D'Ark";
$query = "SELECT * FROM `users` WHERE `user_name` = '$usr' ";
echo $query;
в результате получим такой запрос:
MySQL
1
SELECT * FROM `users` WHERE `user_name` = 'D'Ark'
такой запрос проведет проверку на наличии в базе пользователя с именем D, а остальное будет отброшено (вызовет ошибку)
Ошибка - ну да, не приятно. Но вот если вместо имени будет передана строка:
Code
1
' DROP TABLE `user`;
У нас начинаются не слабые проблемы.

Что же тогда делать?
Ответ прост: экранируй все переменные, значение которых передается в запрос, например так:
PHP
1
$usr = mysqli_real_escape_string($link, $_POST['user']);
http://php.net/manual/ru/mysql... string.php

Добавлено через 6 минут
--------------------------------------

Вот тут почитай: http://phpfaq.ru/slashes
Там лучше, понятнее и шире написано, чем у меня.

Добавлено через 4 минуты
----------------------------------------

Ещё, как вариант, использовать дополнительные библиотеки, orm-системы, pdo или ещё что в этом роде.
Вот, к примеру, одна авторская библиотека: http://phpfaq.ru/safemysql
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
03.12.2014, 10:45
Используйте подготовленные запросы (prepared statement) в mysqli или PDO. И не будет никаких уязвимостей для sql-инъекций.
0
3 / 3 / 2
Регистрация: 29.10.2013
Сообщений: 230
03.12.2014, 12:22  [ТС]
А addslashwes(); делает тоже самое что и mysqli_real_escape_string?

Добавлено через 7 минут
Какого то фига у меня при использовании этой функции . Хотя пароль конечно правильный вводится

Добавлено через 8 минут
Какого то фига у меня при использовании этой функции выходит ошибка. Хотя пароль конечно правильный вводится
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.12.2014, 12:22
Помогаю со студенческими работами здесь

Защита от SQL-инъекций
Много читал, но все равно интересно. Сейчас переписывать весь проект под PDO будет очень тяжело. Весь код на MySQLi. Сподвигло меня...

Не работает защита от sql инъекций
Здравствуйте!. Есть следующий код. Решил сделать защиту от sql инъекций , но почему-то не работает execute(). За помощь очень благодарен ...

Защита от инъекций strip_tags
Всем привет. У меня была задача написать php файл, который принимал бы значения формы регистрации, сохранял их в файле на сервере....

Защита от sql инъекций одним файлом
Привет всем. Помогите дописать или поделитесь уже готовым файлом. Ситуация следующая. На веб сервере много разных проектов, мини игры,...

Защита от инъекций
Доброе утро форумчане! В PDO запросы типа: INSERT INTO {$this->table} (login, name, email, activation, pass) VALUES(?,?,?,?,?). Нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru