Autor | Zpráva | ||
---|---|---|---|
pds Profil |
#1 · Zasláno: 13. 9. 2006, 07:34:44
Potreboval by som radu ohladne Guestbooku. Občas sa stane , že mi v ňom niekto nechá vela spamov z nejakými odkazmi na ich stránky. Chcel by som zabrániť takémuto pridávaniu.
Preto by som chcel urobiť filter správy aby zisťoval či sa v texte nenachádza napr. výraz: "<a href=" a nepovolil zápis. Neviem ako to mám urobyť. Mám tam klasické podmienky na kontrolu mejlovej adresy a tak. Mám tam niečo takéto: Pole s textom sa volá "popis"... <SCRIPT LANGUAGE="JavaScript"><!-- function zkontroluj(formular) { if (formular.jmeno.value=="") { alert("Vaše meno (prezývku) musíte vyplnit!"); formular.jmeno.focus(); return false; } .... Chcel by som to nejak takto: Ked je v texte "<a href=" tak zastav. ... Ale neviem ten správny príkaz. |
||
Joker Profil |
#2 · Zasláno: 13. 9. 2006, 09:55:25 · Upravil/a: Joker
nejlépe skriptem na straně serveru. Například v PHP se to obvykle dělá regulárním výrazem, nicméně takhle jednoduchý požadavek by se dal zabezpečit přes strstr():
$zprava = $_POST["zprava"]; if(strstr($zprava,'<a href=')) die('Zpráva obsahuje nepovolené HTML značky! <a href="index.php">zpět na úvodní stránku</a>'); else{ *uložení zprávy* } Javascript Vám v tomhle nepomůže, protože spamroboti JS vůbec neprovádí. edit: jo, před uložením bych ještě pro jistotu udělal: $zprava = htmlspecialchars($zprava); To by mělo zabránit odeslání vlastního HTML kódu a zároveň znemožnit SQL injection. (tj. odfiltrovat třeba vtipálky, co by poslali příspěvky typu: <div style="display:none"> nebo <img src="fotka_4000x3000.jpg"> nebo '; drop table guestbook --) |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0