форум вебмастероff на AlfaSpace.NET

Ubuntu и Linux |реактивный бесплатный хостинг | Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга | правила форума

  Начало ° Ответить ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ °
Форум вебмастеров на AlfaSpace.NET / Создание сайта / Пользовательский ввод на PHP
Автор Сообщение
gl_SPICE
Участник

1757
# Дата: 18 Мар 2007 06:30


На сайте у пользователя есть возможность оставлять комментарии, в базу данных при этом пишется имя пользователя и сам текст комментария. Как можно удалить все нежелательные символы, HTML-теги, и вообще свести к минимуму возможность взлома и всяких пакостей?

Connected
Pluged&Played

589
# Дата: 18 Мар 2007 07:00


htmlspecialchars($var, ENT_QUOTES);
htmlentities($var);

gl_SPICE
Участник

1757
# Дата: 18 Мар 2007 07:11


Connected, и всё? Что-то как-то просто .

Roler
USA Hater

1340
# Дата: 18 Мар 2007 08:08


gl_SPICE
Всё так

Serg
Участник

1814
# Дата: 18 Мар 2007 10:18


свести к минимуму возможность взлома и всяких пакостей можно двумя функциями:
htmlspecialchars()
stripslashes()

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

gl_SPICE
Участник

1757
# Дата: 18 Мар 2007 10:33


У меня сейчас полученный текст обрабатывается htmlspecialchars() и strip_tags(), ибо нужно всё-таки некоторые теги разрешить.
Serg, за stripslashes() спасибо, посмотрю что за функция . С безопасностью у меня проблемы .

Михаил
Ушел в бан)

2572
# Дата: 18 Мар 2007 12:00 ° Поправил: Михаил


gl_SPICE
В идеале любой забор переменной должен быть такой:
$yep=htmlspecialchars(stripslashes(trim($_POST['yep'])));
(можно еще preg_replace'ом что нибудь потереть )
А если охото сделать вообще неприступным, то можно данные при передаче от одного скрипта в другой шифровать base64_encode'ом )))) Тоды хрен кто-что подставит.

Roler
USA Hater

1340
# Дата: 18 Мар 2007 12:37


» Михаил
А если охото сделать вообще неприступным, то можно данные при передаче от одного скрипта в другой шифровать base64_encode'ом ))))

Ухх, зверюга

acsid
Alfa Guru

2431
# Дата: 18 Мар 2007 14:30 ° Поправил: acsid


$str= strip_tags($str,"<img><b><i><a><font><br><p>");



в функции перечисляються только разрешённые теги(которые остануться в строке), все остильные теги в любом виде удаляються из строки.Таким образом можно не вводить ббкод

И фсётаки всех этих функций мало для достижения безопасности.. особенно если всё остальное криво сделано

madman
Участник

264
# Дата: 18 Мар 2007 15:56


Я б побоялся хранить в БД < и > и им подобные. Лутше их все таки както кодировать.

gl_SPICE
Участник

1757
# Дата: 18 Мар 2007 17:32


» madman
Я б побоялся хранить в БД < и > и им подобные.

А почему?

Михаил
Ушел в бан)

2572
# Дата: 18 Мар 2007 22:21


» gl_SPICE
А почему?

При доступе взломщика к базе такое можно наворотить. ЛУчший вариант - хранения там нее хтмл тегов, а бб кодов.

acsid
Alfa Guru

2431
# Дата: 19 Мар 2007 01:51


» Михаил
При доступе взломщика к базе такое можно наворотить.

Если я уже в бд попаду (предположим что я взломщик) то как-то по барабану что и в каком виде там лежит, полюбому наворочу....

Михаил
Ушел в бан)

2572
# Дата: 19 Мар 2007 03:01


acsid


madman
Участник

264
# Дата: 19 Мар 2007 05:55


» gl_SPICE
» madman
Я б побоялся хранить в БД < и > и им подобные.

А почему?


В смысле не просто хранить, а разришать кому попало записывать в БД текст содержащий < и >, так ведь можна разшатать скрипт. А от этого нычего хорошго не будет.
Лутше уж их кодировать и не переживать. Воть.

Ваш ответ

Quote  Bold Style  Italic Style  Underlined Style  URL Link  Email Link  Script AutoTab  Preformatted Text  Отменить *Что это?
... Запретить смайлы


Перед отправкой "нелатинского" текста проверьте кодировку броузера!
 » Логин  » Пароль 
 
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:31970, gzipped size:9011

Mp3 Download || Webs Studio™ || Song's Lyrics
eXTReMe Tracker Rambler's Top100 Рейтинг@Mail.ru Форум ТвойWeb [Valid RSS]