Visualizzazione risultati 1 fino 5 di 5

Discussione: Censurare link in php

  1. #1
    Guest

    Predefinito 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?

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Non so quanto buona possa essere questa idea, ma potresti provare a fare una semplice sostituzione di stringhe:
    Codice PHP:
    str_replace ($testo, '<A', '&lt;A');
    str_replace ($testo, '</A', '&lt;/A');
    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    Guest

    Predefinito

    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?
    Ultima modifica di AmeHomePage : 07-08-2006 alle ore 12.57.41

  4. #4
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Anche in questo caso è piuttosto semplice:
    Codice PHP:
    if (strpos ($testo, '<A') !== FALSE)
    echo (
    "Errore: il tag &lt;A&gt; non è ammesso!");
    Stammi bene...

    P.S. La sintassi &lt;A&gt; serve a far decifrare correttamente il testo come <A> e non a crearti un'ancora morta...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  5. #5
    Guest

    Predefinito

    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 &lt;A&gt; non è ammesso!");  }
     elseif (strpos ($txt, '<a') !== FALSE){
    	 echo ("Errore: il tag &lt;A&gt;  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...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •