Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: Gestire Redirect

  1. #1

    Gestire Redirect

    SAlve.
    Allora.
    Ho un sito e vorrei creare un sistema che c'è in questo sito. Ognin tanto per scaricare files vieni reindirizzato ad una pagina pubblicitaria che puoi anche saltare con il link.
    Allora, la mia domanda è questa.
    Se io ho una pagina con una tabella con i files che si possono scaricare e voglio che quando una persona clikka su un file venga mandata ad una pagina pubblicitaria con un redirect con timer che è possibile saltare tramite pulsante e che manda alla pagina di download. Come posso fare?
    Grazie a tutti uelli che mi rispondono...

  2. #2
    :master: Diciamo che non ti sei espresso proprio al meglio, ma credo di avere capito quello che ti serve.

    Hai delle pagine collegate con una sorta di schema del tipo:
    • Pagina 1 - quella con la lista dei file da scaricare
    • Pagina 2 - quella pubblicitaria con link per saltare
    • Pagina 3 - La pagina che legge i dati della sessione ed avvia il download


    In Pagina 1 fai una lista di link del tipo:
    Codice PHP:
    // pagina1.php
    [url="pagina2.php?file=xxxx"]File 1[/url]
    [
    url="pagina2.php?file=yyyy"]File 2[/url]
    [
    url="pagina2.php?file=zzzz"]File 3[/url
    pagina2.php è dove andrai a piazzare sia la pubblicità, sia il link al download.
    Codice PHP:
    // pagina2.php

    $file $_GET['file'];
    /* 
    Qui ci metti tutto il codice per visualizzare la pubblicità
    magari con un setTimeout di Javascript imposti un redirect
    a pagina3.php?file=$file dopo 1 minuto di visualizzazione
    Metti comunque un link per saltare l'attesa e passare
    subito al download
    */

    echo "
    <a href=\\"
    pagina3.php?file=$file\\">Vai al download</a>
    "

    Codice PHP:
    // pagina3.php
    $file $_GET['file'];

    /*
    qui metti il codice per recuperare il file dal riferimento passato
    via $_GET (suppongo tu usi un DB) e mandi gli header per 
    avviare il download
    */ 
    Ho commentato il codice per farti capire meglio quello che intendo.
    Magari fammi sapere se non è così chiaro come credo.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Grazie mille. é la risposta piu esudiente che abbia mai ricevuto. Grande...

  4. #4
    Beh... grazie, ma spero che sia funzionante visto che non l'ho testato!!!

    Ad ogni modo, ho omesso una cosa importantissima: filtra in maniera molto restrittiva le variabili che vai a recuperare con $_GET, altrimenti lasci le porte spalancate a qualsiasi tipo di hacking!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    ma a sto punto se uno conosce il link puo' downloddare il file direttamente senza passare per le pagine di conferma etc.

    C'e' modo di evitare questo?
    Htaccess e htpwd?

  6. #6
    Ma... vedi la variabile FILE passata nella URL può essere benissimo un hash che identifica il file nel DB.

    Metti che hai un sistema di upload nella sezione di amministrazione.
    Quando l'amministratore del sito, dalla propria sezione, aggiunge un file, si può creare un codice univoco relativo al file.
    Che ne so.... magari facendo un semplice MD5 alla data di inserimento.
    La pagina pagina3.php può prevedere una query al DB del tipo:

    Codice PHP:
    $file $_GET['file'];

    $sql "SELECT nome_file, tipo_file FROM tabella_download WHERE hash = $file"
    Il gioco è fatto.
    Si tengono nascosti i nomi dei file e la cartella in cui sono salvati!

    Che ne pensi?
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  7. #7
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    beh e' una soluzione che semplicemente maschera i nomi delle dir.
    Il fatto e' che una volta che scarichi il file il path e/o il nomefile lo vedi per cui alla fine e' sempre raggiungibile.

    Il mio dubbio erarealtivo al fatto di proteggere la cartella dei file uploadati indipendentemente dal nomefile/cartella.

    A sto punto non sarebbe meglio caricare il file codificato in base64 direttamente in un tabella mysql?

    tipo

    tabella files

    id
    filename <= $filename
    uploaddate <= NOW()
    f_content <== base64_encode( file_get_contents($file) )

    Cosi' i file stanno sul db e non piu' in cartelle che per quanto puoi mascherare cmq sono ad accesso pubblico?
    O senno htaccess e htpassword possono risolvere il problema?

  8. #8
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da Virus_101
    Cosi' i file stanno sul db e non piu' in cartelle che per quanto puoi mascherare cmq sono ad accesso pubblico?
    Ma chi l'ha detto

    Tu puoi mettere i file da scaricare in una cartella ad accesso vietato, e poi andarli a leggere lì dentro da uno script php che sta da un'altra parte. I tuoi link punteranno allo script php, e tutto quello che l'utente vede è l'indirizzo dello script php, che ovviamente necessita del riferimento al file specifico

  9. #9
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Originariamente inviato da luca200
    Ma chi l'ha detto
    Le cartelle su web server sono tutte pubbliche di base. Se usi apache su altri web server nn sapri io lavoro apache/tomcat e sono un programmatore ne so qlkosa in in materia di amministrazione/configurazione server ma non tantissimo.
    Puoi usare https per crittare la trasmissione dati e htaccess+htpassword per richiedere autenticazione per effettuare l'acceso alla cartella

    Originariamente inviato da luca200
    Tu puoi mettere i file da scaricare in una cartella ad accesso vietato,
    E grazie tante htpassword a che credi che serva?

    Originariamente inviato da luca200
    e poi andarli a leggere lì dentro da uno script php che sta da un'altra parte. I tuoi link punteranno allo script php, e tutto quello che l'utente vede è l'indirizzo dello script php, che ovviamente necessita del riferimento al file specifico
    E' una sol quanto un'altra. Come per esempio usare un algoritmo di crittazione invece che uno di hashing. Questa sol ti permette di tenere il nome criptato lato server e visualizzare il nome effettivo lato client. In quanto dati criptati devono poter essere decriptati senno l'algoritmo nn vale una cippa. Md5 invece crea hash che non sono propriamente reversibili (ci sono modi di risalire all'effetvo contenuto ma sono algoritmi di brute forcing).

    Le soluzioni sono molte e sinceramente a volte il problema riguarda il fatto che molti di noi sfruttano servizi di hosting dove molte configurazioni sono preconfezionate e non si possono modificare. Per cui usare mascheramenti puo' essere comodo.

  10. #10
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Non ho capito di che vai parlando
    Ti ho descritto una soluzione, se ti piace usala, se non ti piace usane un'altra. In ogni caso non vedo a cosa serva criptare dati in questa situazione.

    Chiedere utente e password per mascherare il nome di una directory... mah

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.