Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вопрос по фильтрации

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Озон
Отправлено: 09 Мая, 2013 - 20:01:14
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




Добрый вечер!
Подскажите, нужно ли фильтровать данные функцией
PHP:
скопировать код в буфер обмена
  1. $text=$mysqli->real_escape_string(htmlspecialchars(trim($_POST['text'])));


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

И я фильтрую таким способом все данные от посетителей до занесения в базу, а при выводе ничем не фильтрую.
Правильно ли я делаю?

(Отредактировано автором: 09 Мая, 2013 - 20:06:15)

 
 Top
OrmaJever Модератор
Отправлено: 09 Мая, 2013 - 20:38:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Озон пишет:
а которые я сам ввожу через админ панель?

если вы будете взламывать свой сайт то обязательно!
Озон пишет:
И я фильтрую таким способом все данные от посетителей до занесения в базу, а при выводе ничем не фильтрую.

а вы знаете что имено делают эти функции и откуда появляются уязвимости?
Озон пишет:
Правильно ли я делаю?

Зависит от ситуации, но в целом нет. Я бы htmlspecialchars при записи в базу не использовал, а trim вобще для редких случаев.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
DeepVarvar Супермодератор
Отправлено: 10 Мая, 2013 - 08:58:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




OrmaJever пишет:
если вы будете взламывать свой сайт то обязательно!
Ты хочешь сказать что в админке ты ничего не проверяешь?
 
 Top
DelphinPRO
Отправлено: 10 Мая, 2013 - 10:37:57
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Озон пишет:
real_escape_string(htmlspecialchars(trim($_POST['text'])));

как же ж меня умиляют такие конструкции Улыбка не знаю что фильтрую, но отфильтрую всё!!!
вы еще парочку фиьтров забыли.. для пущей верности..


А по делу - лучше нигде дыр не оставлять.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
LIME
Отправлено: 10 Мая, 2013 - 10:45:17
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




OrmaJever пишет:
а trim вобще для редких случаев.
trim почти всегда нужен
 
 Top
Tsigyr
Отправлено: 10 Мая, 2013 - 17:28:27
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




Если я фильтрую таким способом
PHP:
скопировать код в буфер обмена
  1. $text=$mysqli->real_escape_string(htmlspecialchars(trim($_POST['text'])));

все данные от посетителей до занесения в базу, а при выводе ничем не фильтрую (Только приобразовую в нормальный вид htmlspecialchars_decode)
ну и все страницы где есть id проверяю $id = intval($_GET['id']);
уязвимости никак не может быть..?

(Отредактировано автором: 10 Мая, 2013 - 17:51:31)

 
 Top
LIME
Отправлено: 10 Мая, 2013 - 17:50:24
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Tsigyr пишет:
а при выводе ничем не фильтрую (Только htmlspecialchars_decode)
ржунимагу
 
 Top
Tsigyr
Отправлено: 10 Мая, 2013 - 17:51:49
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




А что смешного? Растерялся
 
 Top
LIME
Отправлено: 10 Мая, 2013 - 17:55:02
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




ты избавляешься от уязвимости при добавлении в базу а потом сам же при выводе ее возращаешь обратно
 
 Top
Tsigyr
Отправлено: 10 Мая, 2013 - 17:58:43
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




Ой глупость сказал, при выводе я htmlspecialchars_decode использую только там, где я добавлял данные через админку для описаний, а так больше нигде не использую.

Не проснулся еще Улыбка

(Отредактировано автором: 10 Мая, 2013 - 18:06:56)

 
 Top
LIME
Отправлено: 10 Мая, 2013 - 18:10:50
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




тогда зачем вообще эти пляски с htmlspecialchars
 
 Top
Tsigyr
Отправлено: 10 Мая, 2013 - 18:38:09
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




Не знаю Улыбка


Как по мне лучше один раз отфильтровать данные до занесения в базу,
чтобы там всякий мусор не хранить, чем потом при выводе каждый раз фильтровать их..
Или это неправильный способ? Может быть уязвимость?
(Добавление)
Или лучше при записи в базу использовать mysqli_real_escape_string и trim, а на выводе уже где нужно htmlspecialchars? Растерялся

(Отредактировано автором: 10 Мая, 2013 - 18:38:37)

 
 Top
LIME
Отправлено: 10 Мая, 2013 - 20:17:10
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




пожалуй
главное не забыть про фильтрацию
 
 Top
Tsigyr
Отправлено: 10 Мая, 2013 - 20:28:41
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




какую именно?
На выводе?
 
 Top
Tsigyr
Отправлено: 11 Мая, 2013 - 01:12:07
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




а ведь еще лучше фильтровать на записи,потому,что:

1.Функция вызовется только один раз на записи,что лучше чем каждый раз на выводе.

2.Существует возможность забыть профильтровать данные на выводе

что можете сказать по этому поводу?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB