
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
۩
Дата
|
![]() Старик ![]() ![]() ![]() Профиль Группа: Пользователь Сообщений: 129 Пользователь №: 41664 На форуме: Карма: ![]() |
Если в любой форме на сайте которая делает записи в БД написать
<script>alert()</script>то он сохраяет это все в таблицу да еще и выполняется ,выскакивает окно "подтвердите действие" и т д, если при этом пропустить что то подобное через htmlspecialchars ну наверно можно поставить еще stripslashes и trim вдруг пригодится то <script>alert()</script>в таблицу сохраняется уже в каком то непонятном состоянии но в браузере читается нормально, так это все равно уже безопасно если сработало через htmlspecialchars? главное что с этими проверками ничего не срабатывает,идет как обычный текст Это сообщение отредактировал maax - 11.09.2016 - 21:42 |
![]() |
|
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: ★ЛжеЭксперт★ ![]() Сообщений: 2642 Пользователь №: 37963 На форуме: Карма: 29 ![]() |
Когда сохраняешь в базу данных, используй - mysqli_real_escape_string
А перед отправкой клиенту (вывод на экран) - htmlspecialchars -------------------- Принимаю заказы, писать в ЛС
|
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: ★ЛжеЭксперт★ ![]() Сообщений: 5978 Пользователь №: 32538 На форуме: Карма: 67 ![]() |
htmlspecialchars надо делать при выводе. Почитай про html-сущности, чтоб не пугался записей из базы!
|
![]() |
۩
Дата
|
![]() Старик ![]() ![]() ![]() Профиль Группа: Пользователь Сообщений: 129 Пользователь №: 41664 На форуме: Карма: ![]() |
Медведь
mysqli_real_escape_string подойдет для pdo? по моему нет))) |
![]() |
۩
Дата
|
![]() Старик ![]() ![]() ![]() Профиль Группа: Пользователь Сообщений: 129 Пользователь №: 41664 На форуме: Карма: ![]() |
Медведь
$stm = $cnt->prepare("INSERT INTO reviews (username, email, text) VALUES (:username, :email, :text)"); или у меня тут ошибки? |
![]() |
۩
Дата
|
![]() Старик ![]() ![]() ![]() Профиль Группа: Пользователь Сообщений: 129 Пользователь №: 41664 На форуме: Карма: ![]() |
а мб лучше и там и там htmlspecialchars сделать? пусть и в базе фигня сохранится ну и выведем через нее?
|
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: ★ЛжеЭксперт★ ![]() Сообщений: 5978 Пользователь №: 32538 На форуме: Карма: 67 ![]() |
maax
pdo сама уже делает защиту от sql-инъекций! так-что mysqli_real_escape_string не нужен. htmlspecialchars только при выводе |
![]() |
۩
Дата
|
![]() Старик ![]() ![]() ![]() Профиль Группа: Пользователь Сообщений: 129 Пользователь №: 41664 На форуме: Карма: ![]() |
Zzepish
я читал что даже в pdo кривыми руками можно дыру сделать для sql-инъекций,ну я вроде нормально написал ![]() Это сообщение отредактировал maax - 11.09.2016 - 22:12 |
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: ★ЛжеЭксперт★ ![]() Сообщений: 5978 Пользователь №: 32538 На форуме: Карма: 67 ![]() |
maax
Ну, у тебя все четко. Если делать через плейсхолдеры- то все будет кошерно) |
![]() |
|
![]() ![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 8 Пользователь №: 44461 На форуме: Карма: ![]() |
Чтобы корректно записался в бд, советую сперва очистить или заменить спец символы пробелом, это можно сделать с помощью str_replace().
Второе удалить все пробелы trim(), и третье воспользоваться стандартной фильтрации к примеру filter_var(). Но я конечно рекомендую использовать регулярные выражения, ни очень удобны при работе со строками. Если вы не имеете знания в области регулярных выражений, то не страшно, вполне можно обойтись и без него. А на счет занесения в БД данных, вы должны понимать что сейчас используется ориентированный стить MySQLi , и это не значит все она защищено, данные в любом случае надо фильтровать. |
![]() Пользователь ![]() ![]() Профиль Группа: Пользователь Сообщений: 54 Пользователь №: 46417 На форуме: Карма: ![]() |
Писать в БД нужно именно то, что пришло, экранировать при выводе на экран. Азбука.
Бывают исключения, но не в случае вопроса ТС. Это сообщение отредактировал don.bidon - 18.03.2024 - 08:54 |
![]() |
![]() ![]() ![]() |