X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> PHP, Mysql: Фильтрация POST
Rombi
Rombi
Topic Starter сообщение 8.4.2014, 21:43; Ответить: Rombi
Сообщение #1


Достаточно ли будет пропустить POST сначала через htmlspecialchars, а потом в INSERT запросе указать mysql_real_escape_string($text)?


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ethoz
ethoz
сообщение 8.4.2014, 21:49; Ответить: ethoz
Сообщение #2


По моему скромному мнению mysql_real_escape_string будет достаточно, при жёстко указанной кодировке mysql_set_charset. А вывод можно пропускать через htmlspecialchars.


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Rombi
Rombi
Topic Starter сообщение 8.4.2014, 21:52; Ответить: Rombi
Сообщение #3


ethoz, ты в программировании шаришь или наобум написал?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ethoz
ethoz
сообщение 8.4.2014, 21:58; Ответить: ethoz
Сообщение #4


Шарю, не на уровне профи конечно, но маны читаю внимательно. Я предложил свой варинт, как бы я написал. Для подтверждения/опровержения, подождём ответа человека с большой репой :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Rombi
Rombi
Topic Starter сообщение 8.4.2014, 22:03; Ответить: Rombi
Сообщение #5


Я тут подумал, твоя версия тоже имеет место быть)
Но вот как все-таки лучше делать? htmlspecialchars использовать перед сохранением или при выводе?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 8.4.2014, 22:05; Ответить: x64
Сообщение #6


функции имеют разное назначение
htmlspecialchars() нужен для вывода текста в html «как есть»
Код
$s = '<b>Hello!</b>';
echo $s;
echo htmlspecialchars($s);

первый вариант выведет: Hello!
второй: <b>Hello!</b>

при работе с запросами к mysql обрабатывать переменные нужно обязательно. и лучше использовать именно mysql_real_escape_string()

нужно ли использовать оба варианта? зависит от требуемого поведения. если данные в базе хранятся обработанными и готовыми для вывода в html (в варианте как есть, например, код), тогда есть смысл обработать обоими функциями. в противном случае, необходимо использовать только экранирование для mysql

Сообщение отредактировал x64 - 8.4.2014, 22:06


Поблагодарили: (2)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ethoz
ethoz
сообщение 8.4.2014, 22:09; Ответить: ethoz
Сообщение #7


Я бы сделал вывод через htmlspecialchars, чтоб в базе лежали не "искажённые" данные. Но если важно процессорное время, то наверное лучше делать при INSERT-е, т.к. не придётся при каждом SELECT-е делать htmlspecialchars одних и тех же данных.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
WebAction
WebAction
сообщение 8.4.2014, 22:11; Ответить: WebAction
Сообщение #8


В плане защиты запроса хватит и mysql_real_escape_string, можно еще размер POST данных ограничить, если это позволительно :)
А если же брать вообще, то лучше от всего почистить, чего не должно быть в базе - все теги, нежелательные последовательности символов и тд.


--------------------
--тут может быть ваша реклама--


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Solonik
Solonik
сообщение 8.4.2014, 22:12; Ответить: Solonik
Сообщение #9


Попробуйте посмотреть в сторону подготовленных запросов например подробнее вот http://www.php.net/manual/ru/pdo.prepared-statements.php
Ну или как Вы написали mysql_real_escape_string() в принципе будет достаточно.

Сообщение отредактировал Solonik - 8.4.2014, 22:15


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
samovar
samovar
сообщение 9.4.2014, 11:13; Ответить: samovar
Сообщение #10


а лучше еще все запросы переформатировать другими переменными своими шаблонами, чтоб вообще ни кто не догадался
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3293 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1171 24.11.2023, 14:46
автор: alexey
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44767 19.7.2023, 10:03
автор: qpPeW
Открытая тема (нет новых ответов) Есть спецы по php/laravel?
3 Mixatraider 1856 26.5.2023, 20:48
автор: Mixatraider
Открытая тема (нет новых ответов) Опытный PHP\Python разработчик в поиске интересных задач
6 daikzlex 3361 25.5.2023, 13:55
автор: daikzlex


 



RSS Текстовая версия Сейчас: 29.3.2024, 12:08
Дизайн