Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Blocco apertura nuova tab

    Ciao a tutti,
    ho una pagina php per inserimento dati.
    Il problema è che dovrei bloccare la possibilità di aprire i link delle pagine in delle nuove tab altrimenti mi si creano dei problemi con le variabili di sessione.

    Grazie

  2. #2
    ciao!

    non so se sia possibile farlo, ma penso che cmq sia più una cosa che riguardi javascript, non php.

  3. #3
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, il fatto e' che ci sono diversi modi per farlo, sia per bloccare che per aggirare volendo.
    Puoi aprire un link su click, CTRL+click o tasto detro più opzione apertura in altra pagina. E se proprio uno volesse potrebbe prendere la url dalla console e aprirsi un tab per i fatti suoi.
    Per risolvere in parte se proprio vuoi, secondo me puoi intanto diabilitare il tasto destro sui tag, controllare su click la combinazione di tasti utilizzata.

  4. #4
    Forse dico una stupidaggine ma potresti provare proprio utilizzando le sessioni.
    Ovvero se un utente apre quella specifica pagina puoi settare nella sua sessione un campo del tipo:

    Codice PHP:

    session_start
    ();
        
    $_SESSION["apro_pag_x"] = true

    In questo modo quando l'utente apre quella pagina viene settata una variabile di sessione che identifica l'apertura di quest'ultima.
    Poi per evitare che la pagina venga eseguita potresti verificare se la variabile è settata, se lo è generi un errore del tipo:

    "Errore, non è possibile eseguire questa operazione due volte."

    alternativamente se non è settata la setti e poi esegui le operazioni che vuoi far eseguire quella pagina.
    Finite le operazioni puoi distruggere questa variabile di sessione.

    In questo modo se l'utente cerca di aprire la pagina mentre è in esecuzione verrà generato un errore e non verrà eseguito lo script, sia che la apra con il tasto dx, sia che la apra con CTRL+Click, sia che copi l'URL.

    PS: Io ho considerato che UN SOLO UTENTE prova ad eseguire lo script, se lo script crasha anche quando DUE UTENTI BEN DISTINTI (quindi con due sessioni distinte) riguarda lo script.
    Ultima modifica di hypertextPro; 14-12-2016 a 14:08

  5. #5
    Quote Originariamente inviata da hypertextPro Visualizza il messaggio
    Forse dico una stupidaggine ma potresti provare proprio utilizzando le sessioni.
    Ovvero se un utente apre quella specifica pagina puoi settare nella sua sessione un campo del tipo:

    Codice PHP:

    session_start
    ();
        
    $_SESSION["apro_pag_x"] = true

    In questo modo quando l'utente apre quella pagina viene settata una variabile di sessione che identifica l'apertura di quest'ultima.
    Poi per evitare che la pagina venga eseguita potresti verificare se la variabile è settata, se lo è generi un errore del tipo:

    "Errore, non è possibile eseguire questa operazione due volte."

    alternativamente se non è settata la setti e poi esegui le operazioni che vuoi far eseguire quella pagina.
    Finite le operazioni puoi distruggere questa variabile di sessione.

    In questo modo se l'utente cerca di aprire la pagina mentre è in esecuzione verrà generato un errore e non verrà eseguito lo script, sia che la apra con il tasto dx, sia che la apra con CTRL+Click, sia che copi l'URL.

    PS: Io ho considerato che UN SOLO UTENTE prova ad eseguire lo script, se lo script crasha anche quando DUE UTENTI BEN DISTINTI (quindi con due sessioni distinte) riguarda lo script.

    Ottima logica non ci avevo pensato.

    Grazie

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.