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



 

Здравствуйте, гость ( Вход | Регистрация )

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


3TAJIOH
******

Группа: Active User
Сообщений: 1042
Регистрация: 14.6.2010
Из: Самара
Поблагодарили: 244 раза
Репутация:   45  


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


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


Частый гость
**

Группа: User
Сообщений: 58
Регистрация: 21.4.2013
Поблагодарили: 20 раз
Репутация:   5  


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


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


3TAJIOH
******

Группа: Active User
Сообщений: 1042
Регистрация: 14.6.2010
Из: Самара
Поблагодарили: 244 раза
Репутация:   45  


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


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


Частый гость
**

Группа: User
Сообщений: 58
Регистрация: 21.4.2013
Поблагодарили: 20 раз
Репутация:   5  


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


3TAJIOH
******

Группа: Active User
Сообщений: 1042
Регистрация: 14.6.2010
Из: Самара
Поблагодарили: 244 раза
Репутация:   45  


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


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


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3424
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2744 раза
Репутация:   289  


функции имеют разное назначение
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


Частый гость
**

Группа: User
Сообщений: 58
Регистрация: 21.4.2013
Поблагодарили: 20 раз
Репутация:   5  


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


Топовый постер
*******

Группа: Super Moderator
Сообщений: 3059
Регистрация: 18.11.2009
Поблагодарили: 2510 раз
Репутация:   249  


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


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


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


Старожил
******

Группа: Active User
Сообщений: 1358
Регистрация: 29.10.2009
Из: г.Москва
Поблагодарили: 338 раз
Репутация:   89  


Попробуйте посмотреть в сторону подготовленных запросов например подробнее вот 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


Участник
***

Группа: User
Сообщений: 122
Регистрация: 26.3.2014
Поблагодарили: 79 раз
Репутация:   13  


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
18 qpPeW 3348 Вчера, 13:32
автор: qpPeW
Открытая тема (нет новых ответов) php скрипты любой сложности / диз+верстка (адаптивно)
любые задачи на php - автоматизация, парсинг, работа с БД
1 affrodita 489 8.12.2017, 17:40
автор: affrodita
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыImage Optimizer (PHP)
6 bars96 905 17.11.2017, 0:47
автор: bars96
Открытая тема (нет новых ответов) Стабильный хостинг за 30р в месяц. GNU/Linux, PHP, MySQL, Perl, бэкапы. Помогу перенести сайт.
5 freeax 1538 10.11.2017, 13:15
автор: freeax
Горячая тема (нет новых ответов) [предлагаю] Качественные услуги по PHP/HTML/CSS/JS, любые движки
Услуги программирования
31 Alexandr_js 10027 2.11.2017, 16:36
автор: gretskov


 



RSS Текстовая версия Сейчас: 13.12.2017, 1:49
Дизайн