Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762

    Consiglio su: $_SERVER['HTTP_REQUEST'] e $_SERVER['REQUEST_URI'] .

    Buongiorno a tutti!

    Apro questo thread perchè mi piacerebbe ricevere pareri e consigli da voi.

    Sto lavorando su una "final landing page"...ovvero una pagina .php che verrà poi visualizzata SOLO ed ESLUSIVAMENTE alla fine di una futura operazione svolta dall'utente.

    L'obiettivo è questo:

    - Evitare l'apertura di questa pagina direttamente, digitando l'url nel browser che porta ad essa.
    - Evitare l'apertura di questa pagina se l'utente NON proviene dall'UNICA pagina da cui si potrebbe accedere (ad esempio, la pagina che conferma il pagamento..e poi reindirizza a questa).


    La soluzione adottata è la seguente:


    Pagina "final landing page"
    Codice PHP:
    <?php

    if ($_SERVER['REQUEST_URI'] == "--indirizzo digitato direttamente nel browser--") {

        
    header("Location: miosito.it/page/index.php");

    }

    # L'istruzione sottostante genererà un errore Notice. Ho rimosso per ora la @ .
    if ($_SERVER['HTTP_REFERER'] != "---indirizzo diverso dall'unica pagina da cui si può provenire---") {

        
    header("Location: miosito.it/page/index.php");

    }
    ?>
    Quindi, come potete vedere, sia nel caso l'URL venga digitato direttamente nella barra del browser, sia se l'utente proviene dall'unica pagina che possa visualizzare poi questa "final landing page", esso verrà reindirizzato nella homepage del sito (oppure in un'altra pagina..).


    Secondo voi, è una buona soluzione per prevenire l'apertura di questa pagina finale?
    (La quale dovrà essere visualizzata, ripeto, solo una volta che l'utente avrà svolto le operazioni..di acquisto, bla, bla..)


    Grazie a tutti.

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    C'è un errore nel codice PHP...viene visualizzato "<a href...>" ...scusate...fate finta che non ci sia.



    MODIFICA SU QUESTO POST (scusate)

    ..ho corretto il post..ariscusate.

  3. #3
    Nella penultima pagina crei una sessione valorizzandola = 1 o = true, nella landing page verifichi la presenza di questa sessione.
    Se esiste, la cancelli e visualizza la pagina corretta, se non esiste reindirizzi alla pagina di errore o dove vuoi tu.

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Mmmh...sessione...come faccio a "valorizzare una sessione a 1 o true" ?

    Altra domanda..e se la sessione viene valorizzata da un'esperto e quindi può accedere lo stesso alla pagina? (Domanda di panico)


    E per finire..del mio metodo che ne pensi?

    Grazie Dirk!

  5. #5
    Originariamente inviato da wartpro
    Mmmh...sessione...come faccio a "valorizzare una sessione a 1 o true" ?
    codice:
    $_SESSION["nome_della_sessione"] = true;
    //con questo cancelli la sessione
    session_destroy();
    Altra domanda..e se la sessione viene valorizzata da un'esperto e quindi può accedere lo stesso alla pagina? (Domanda di panico)
    Se tu chiami la sessione con il nome di "sessione", magari il buon tempone di turno riesce a scovarla, ma se tu chiami la sessione "1254gkrjt3658torkdjrl" sfido qualsiasi buontempone...

    E per finire..del mio metodo che ne pensi?
    Non è detto che il browser del navigante invii il dato 'HTTP_REFERER', se non lo fa tu che fai?

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Non è detto che il browser del navigante invii il dato 'HTTP_REFERER', se non lo fa tu che fai?
    Mi aspettavo questa risposta
    So che (come dice il manuale ufficiale php) c'è la possibilità che il browser non invii il REFERER .

    Il discorso sai qual'è? Che l'unica pagina da cui l'utente proverrà...sarà la tipica pagina di pagamento di PayPal (sulla quale non posso apportare nessuna modifica a livello di codice).

    Ecco il perchè del consulto.




    A meno che, la variabile di sessione inizializzata nella pagina precedente quella di PayPal (ad esempio, pagina-con-form) , resti attiva fino al raggiungimento della final-landing-page.

    Quindi, avendo questa sequenza di pagine:

    1) miosito.it/pagina-con-form
    2) paypal/pagina-pagamento (su cui non posso operare)
    3) miosito.it/final-landing-page

    ..la sessione, dalla pagina con il form..passando per la pagina di PayPal..e arrivando alla final-landing-page, mantiene la sessione???

    Grazie mille ancora.

  7. #7
    Domanda, sulla pagina finale (quella che viene mostrata dopo la transazione Paypal), effettui delle operazioni, o è semplice html statico?

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Al momento, la pagina è statica. Tu entri nella pagina e visualizzi il messaggio "finale". Poi cliccando sulla barra ritorni nel sito. Stop.

  9. #9
    A questo punto, sinceramente che ti importa che la sua visualizzazione sia libera?

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Perchè sono pignolo

    ..se è una pagina che viene visualizzata solo a cosa fatta...vorrei che fosse visualizzata solo a cosa fatta.

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.