Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di the-bit
    Registrato dal
    Feb 2005
    Messaggi
    543

    Come controllare l'esistenza di una pagina web?

    Salve,
    vorrei sapere se esiste già una funzione php che permetta di verificare l'esistenza di una pagina web sul proprio sito, quindi internamente al sito da dove viene chiamata questa funzione.
    Grazie.
    "To iterate is human, to recurse, divine." (R.(Heller))

  2. #2
    Esiste la funzione che verifica l'esistenza di un file etc... non una funziona che verifica l'esistenza di una pagina web.

    Quest'ultima la devi creare tu secondo esigenze personali.

  3. #3
    Utente di HTML.it L'avatar di the-bit
    Registrato dal
    Feb 2005
    Messaggi
    543
    Il discorso è che ho a che fare con urls riscritte quindi non urls statiche. Altrimenti avrei semplicemente fatto una funzione con fopen sul file e che verifica, appunto, che il file esista aprendolo.
    Riguardo ai links riscritti cosa mi converrebbe fare?
    "To iterate is human, to recurse, divine." (R.(Heller))

  4. #4
    Immagino userai htaccess o altre funzioni in php che emulano il funzionamento dell'htaccess.

    Ad ogni modo avrai sempre dei dati da poter utilizzare per i tuoi controlli.
    Ad esempio:

    ^articolo-blog.html$ index.php?pagina=articolo-blog ....

    usa la _GET e verifica se il suo contenuto (la pagina richiesta) è nell'elenco delle pagine dinamiche...

    Potresti ad esempio memorizzare in un database le pagine dinamiche.

    C'è solo l'imbarazzo della scelta su più o meno opzioni in base a quel che vuoi ottenere tu.

  5. #5
    Utente di HTML.it L'avatar di the-bit
    Registrato dal
    Feb 2005
    Messaggi
    543
    Il sito è fatto con un CMS, Wordpress. Per questo non è molto facile intervenire sul htaccess.
    Ad ogni modo pensavo di agire direttamente sull'indirizzo statico ovvero www.sito.it/index.php?p=id_articolo e, come dici tu, prelevando l'id tramite GET...però poi coem effettuo il controllo?
    Siccome questo piccolo script php lo devo mettere in una pagina statica, non vorrei mettere troppi dati (user, DB, ecc) in chiaro cosicchè se altri utenti modificano l'articolo riescono a vedere i dati in chiaro.
    "To iterate is human, to recurse, divine." (R.(Heller))

  6. #6
    devi effettuare un controllo sul database (quindi dovrai utilizzare delle query mysql) e verificare che l'id dell'articolo richiesto esiste nella tabella degli articoli del sito web.

  7. #7
    Utente di HTML.it L'avatar di the-bit
    Registrato dal
    Feb 2005
    Messaggi
    543
    Ok grazie del suggerimento.
    Se vi vengono in mente altri modi più sicuri, dite pure.
    "To iterate is human, to recurse, divine." (R.(Heller))

  8. #8
    Credo sia l'unico modo in quanto il controllo deve essere eseguito lato server e visto che le informazioni sono su database prima devi estratte l'informazione da verificare e poi effettuare il controllo sulla sua esistenza nel database.

    Se operi lato server, senza generare output di dati sensibili non vi è alcun problema.

    L'unica cosa che ti consiglio, però, è di eseguire una preg_preplace nel momento in cui recuperi il valore della get così eviti problemi di Sql Injection.

    Ad esempio

    Codice PHP:
    $id_da_verificare preg_replace("/([^0-9]+)/"""$_GET['id']);

    $sql SELECT ...... WHERE nome_cella_id '".$id_da_verificare."' LIMIT 1";

    .... 
    in questo modo obblighi $id_da_verificare a contenere solo cifre e nient'altro.

  9. #9
    Utente di HTML.it L'avatar di the-bit
    Registrato dal
    Feb 2005
    Messaggi
    543
    Ma scusa, non posso fare direttamente un casting (int) ?
    "To iterate is human, to recurse, divine." (R.(Heller))

  10. #10
    Si anche, giusto... Ora non ci pensavo...

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.