PHP - как блокировать вывод HTML тэгов в гостевуху
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



PHP - как блокировать вывод HTML тэгов в... Expand / Collapse
Автор
Сообщение
23.10.2001 11:25
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 10.10.2002 18:47
Сообщ.: 46, Visits: 507
Есть гостевая книга на PHP база Postgress
Юзер вводит мессаги и может вводить html код, который потом при просмотре будет на экране. Так же чет знает что можно навводить!
Как мне прекратить.
Поможите люди добрые
Плиз!
Сообщ. #729541
23.10.2001 12:26
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 18.12.2002 9:32
Сообщ.: 52, Visits: 573
Я делал это так:
if ($name!=""){
ereg_replace("'","\'",$name);
$name=ereg_replace("<","&lt;",$name);
$name=ereg_replace(">","&gt;",$name);
$sql="insert into gbook(name,email,msg) values('$name','$email','$msg')";
mysql_query($sql,$db);
}
т.е. перед тем как записать в базу данных я заменил символы <,>
Сообщ. #729554
23.10.2001 12:30
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 18.12.2002 9:32
Сообщ.: 52, Visits: 573
я не дописал в предыдущем ответе, что заменяю символы < и > на служебные. Правда я использую mysql, но думаю это имеет смысл и в твоей базе.
Сообщ. #729556
23.10.2001 12:33
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 10.10.2002 18:47
Сообщ.: 46, Visits: 507
Спасибо, попробую и напишу. Есть в PHP функция что все символы на служебные меняет, но с кодировкой она как-то странно работает наверное в ISO-8859-1 все переносит. Спасибо еще раз.
Сообщ. #729558
23.10.2001 19:42
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 17.11.2005 0:11
Сообщ.: 47, Visits: 518
Согласно моей некомпетентности я бы использовал вместо ereg_replace - str_replace (быстрее пашет и ман рекомендует в данном случае). А второе, если структура сайта позволяет, то замену "<" на "&lt;" (и т.п.) делал бы при вызове из базы а не при записи в неё, т.к. экономит драгоценных 3 байта, что для меня очень много.
Сообщ. #729625
23.10.2001 20:03
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 10.10.2002 18:47
Сообщ.: 46, Visits: 507
Спасибо Мишар, переправил на str.
Сообщ. #729631
23.10.2001 22:21
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 15.08.2003 2:03
Сообщ.: 26, Visits: 287
тебе понадобятся эти функции
mixed str_replace (mixed search, mixed replace, mixed subject)
int empty (mixed var)
string trim (string str)
string addslashes (string str)
string stripcslashes (string str)

string htmlentities (string string [, int quote_style]) || string strip_tags (string str [, string allowable_tags])

2dimonych, не надо избретать велосипед
Сообщ. #729641
24.10.2001 15:23
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 18.12.2002 9:32
Сообщ.: 52, Visits: 573
Я лишь передал смысл, а как это сделать, заменить ли при записи в базу или при выводе из базы решает каждый сам для себя.
Смысл в том что надо эти символы заменять, а как, это дело лично каждого.
Сообщ. #729766
24.10.2001 15:30