-
Censurare link in php
Ho creato un guest book in php, come database usa un file txt l' unico problema è che mi sono visto costretto a chiuderlo perchè qualcuno avendo capito che erano attivi i tag html ha iniziato a spammare, e non ce la facevo più a cancellare messaggi (arrivavano a decine ogni giorno)... Così ho pensato di provare a censurare i link e limitare il numero di caratteri inseribili... per limitare i caratteri non c'è problema, xò per disabilitare il tag <a> non so come fare qualcuno ha qualche idea?
-
Non so quanto buona possa essere questa idea, ma potresti provare a fare una semplice sostituzione di stringhe:
Codice PHP:
str_replace ($testo, '<A', '<A');
str_replace ($testo, '</A', '</A');
Stammi bene...
-
si potrebbe essere una buona idea, adesso ci provo, speriamo che non potendo più mettere link smettano di spammare... e come potrei fare per far trovare una certa stringa (in questo caso <a) e se la trova far visualizzare un messaggio di errore?
-
Anche in questo caso è piuttosto semplice:
Codice PHP:
if (strpos ($testo, '<A') !== FALSE)
echo ("Errore: il tag <A> non è ammesso!");
Stammi bene...
P.S. La sintassi <A> serve a far decifrare correttamente il testo come <A> e non a crearti un'ancora morta...
-
Ho modificato lo script ma mi da un' errore... lo script è questo
Codice:
<?
$fp=fopen("post.txt", "a");
$txt = trim($_POST['testo']);
$nick = trim($_POST['nome']);
$testo = $txt . "<br><br>\n";
$nome="<FONT COLOR=RED>" . $nick . "</FONT> ";
if (strpos ($txt, '<A') !== FALSE){ //se trova <A non mette il post da errore se no controlla che non ci siano altre cose sgradite
echo ("Errore: il tag <A> non è ammesso!"); }
elseif (strpos ($txt, '<a') !== FALSE){
echo ("Errore: il tag <A> non è ammesso!"); }
elseif($testo=="<br><br>\n"){ }
elseif(isset($txt) && isset($nick)){
fputs($fp, $nome);
fputs($fp, $testo);
$mail="E' stato aggiunto un nuovo commento al tuo questbook!\n\n" . $nome . $testo . "\n\n<ahref=\"http://amehomepage.altervista.org\">http://amehomepage.altervista.org</a>";
mail("amedeo_laudisio@hotmail.com","Nuovo commento nel tuo GuestBook", "$mail");}
fclose($fp);
else{echo ("Compila tutti i campi");}
include("post.txt");
?>
l' errore dovrebbe essere alla riga dove c'è scritto else{echo ("Compila tutti i campi");} ma mi sembra tutto giusto...