Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    505

    evitare esecuzione codice javascript maligno da a href

    salve. ho un problema :

    ho delle input box dove inserisco dei valori (una input box per il nome, una input box per il link).
    li salvo nel database, e poi li vado a pescare e stampare in questo modo :
    codice:
    <?=$row[1]?>
    in $row[0] c'è il link salvato dal database;
    in $row[1] c'è il nome salvato dal database;

    il problema è questo : se un utente quando fà l'inserimento da input type inserisce (per esempio) del codice javascript, questo viene eseguito.

    es. se nel link scrivo javascript:window.alert("Non te lo aspettavi"); esegue l'alert javascript e apre la schermata. io vorrei evitare questo... concedendo solo dei link verso delle pagine web (in poche parole, evitare che del codice maligno giri nel sito).

    è possibile?

    cordiali saluti

  2. #2
    Certo, e ci sono vari modi per farlo.

    - Controlla che in quanto inviato non ci siano le stringhe "javascript:", "java-script:";

    - Controlla che quanto inviato contenga come primi caratteri "http://";

    Hai solo l'imbarazzo della scelta circa quale funzione php usare per fare tali controlli: strpos, strcount, etc.
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    505
    grazie per la risposta. effettivamente c'avevo pensato a controllare i primi 7 caratteri e vedere se conteneva http:// ma pensavo ci fossero delle altre maniera per aggirare questo controllo con javascript.

    però effettivamente quando si trova l'http:// il browser interpreterà quello che viene dopo come una richiesta a una pagina...

    grazie softhare

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.