Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 34

Discussione: [PHP] URL "crittografato"

  1. #1
    Guest

    Predefinito [PHP] URL "crittografato"

    Ciao a tutti...
    dovrei far scaricare un archivo *.rar, però vorrei fare una cosa:
    vorrei che l'URL dell'archivio cambiasse ad ogni refresh e/o connessione alla pagina... tipo:
    1 - http://turkosoft.org/download/AAAarchivio.rar
    2 - http://turkosoft.org/download/BBBarchivio.rar
    3 - http://turkosoft.org/download/XXXarchivio.rar
    eccetera...

    quindi nel codice html dovrebbe venire una cosa del tipo:
    Codice HTML:
    <a href="http://turkosoft.org/download/SCRIPT?=archivio.rar">scarica</a>
    è possibile? devo utilizzare il metodo GET o qualcosa del genere per caso?

    grazie
    ...byex!
    Ultima modifica di TurkoSoft : 15-12-2006 alle ore 17.04.49

  2. #2
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    Codice PHP:
    rename("VECCHIO LINK","NUOVO LINK");
    i link ovviamente in percorso relativo

  3. #3
    Guest

    Predefinito

    si, ma così devo inventarmi io il percorso e dovrei creare un paio di archivi *.rar e mettere il relativo percorso... io non intendevo così...

  4. #4
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    Ehm...vorrei aiutarti ma non ho ben capito che vuoi!

    Vorresti che un reale archivio.zip venga presentato come AAAA.zip oppure BBB.zip ???

  5. #5
    Guest

    Predefinito

    Mi è venuta un'idea abbastanza bizzarra ...
    Allora , quando uno clicca sul link per inviare il file , invia via POST e una GET due variabili :
    - una con il nome del file da scaricare(inviata via POST)
    - una con una ID di sessione , quella con PHPSESSID (oppure una stringa generata random con serie di numeri e caratteri)(inviata via POST)
    - una con una ID di sessione , quella con PHPSESSID (oppure una stringa generata random con serie di numeri e caratteri) (inviata via GET)

    Poi ...
    Il nome del file , è il nome da scaricare , magari impostata in una cartella a parte , la PHPSESSID o la stringa vengono scritte con session_register() in una sessione , la pagina dopo , quella per registrare , serve per prendere la sessione o la stringa inviata via POST e confrontarla con una inviata via GET , se uguali , scarichi il file ^_^

    Correggetemi se ho detto castronerie , grazie :)

  6. #6
    L'avatar di bastardofuori
    bastardofuori non è connesso AlterGuru
    Data registrazione
    04-04-2006
    Messaggi
    1,535

    Predefinito

    Direi che questo script fa al tuo caso:

    <SCRIPT LANGUAGE="JavaScript">
    // qui di seguito i link degli archivi
    var imgs = new Array (
    "1 - http://turkosoft.org/download/AAAarchivio.rar",
    "2 - http://turkosoft.org/download/BBBarchivio.rar",
    "3 - http://turkosoft.org/download/XXXarchivio.rar"
    )

    // qui il numero dei link che vuoi visualizzare dentro la parentesi(nel tuo caso metti 1 se vuoi che compaia solo un archivio rar)
    var toShow = new Array (1)

    for (var i = 0; i < toShow.length; i++)
    {
    var ok = false
    do
    {
    ok = true
    // scegli un numero a caso
    var x = Math.floor (imgs.length * Math.random ())
    // è diverso dagli altri?
    for (var j = 0; j < i; j++)
    ok = ok && (x != toShow[j])
    if (ok)
    // sì? aggiungilo alla lista degli archivi da visualizzare
    toShow[i] = x
    // no? ricomincia da capo, non serve specificarlo
    }
    while (!ok)
    }

    // scelti tutti i numeri? Adesso visualizza i link a random
    for (var i = 0; i < toShow.length; i++)
    document.write ('<a href="' + imgs[toShow[i]] + '">Scarica il file</a>');
    </SCRIPT>

    Ho rielaborato uno script che mi hanno fornito proprio qui su AV. Credo funzioni cmq...
    Fammi sapere
    Spero di esserti stato utile, Ciao

  7. #7
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da TurkoSoft
    si, ma così devo inventarmi io il percorso e dovrei creare un paio di archivi *.rar e mettere il relativo percorso... io non intendevo così...
    Con la funzione suggerita da Luffio ogni volta rinomini il nome del file.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  8. #8
    L'avatar di bastardofuori
    bastardofuori non è connesso AlterGuru
    Data registrazione
    04-04-2006
    Messaggi
    1,535

    Predefinito

    Citazione Originalmente inviato da TurkoSoft
    vorrei che l'URL dell'archivio cambiasse ad ogni refresh e/o connessione alla pagina... tipo:
    1 - http://turkosoft.org/download/AAAarchivio.rar
    2 - http://turkosoft.org/download/BBBarchivio.rar
    3 - http://turkosoft.org/download/XXXarchivio.rar
    eccetera...
    Ma vuoi che cambi il nome dell'archivio o che hai più archivi e che ne venga scelto uno a random?

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da funcool
    Con la funzione suggerita da Luffio ogni volta rinomini il nome del file.
    ah si? Non ho ben capito bene come... me lo spieghi meglio?

    grazie

  10. #10
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  11. #11
    blackout non è connesso Utente
    Data registrazione
    23-11-2002
    Messaggi
    207

    Predefinito

    invece di rinominare il file puoi fare cosi, uno stratagemma che ho usato nel captcha fatto da me, ma che cmq, per azioni "mission critical" e' altamente sconsigliato.
    esempio (usero un metalinguaggio cosi faccio prima)

    apri la pagina list-downloads.php (lista dei file da scaricare no?)
    crei un numero random da 10000-99999 (5 cifre) e lo inserisci in una sessione

    $_SESSION[random]

    quando stampi la lista dei file da scaricare la stampi creando l'hash md5 (x esempio) di

    $hash= md5(random+namefile);

    il link apparira cosi
    http://www.sito.com?download.php?fil...wfdsorie343343

    quando fai il retrieve dal database o dalla lista,
    re-encripti tutti i nomi
    es.
    $array= ('1'=> file1, ... file2, file3, file4)
    dopo
    $array= ( hash(random+file1) => file1 , ... etc)

    poi puoi fare una ricerca dentro l'array (in_array), se il risultato e' true allora fai scaricare il file
    $array_file[hash(random+file1)];

    e fai partire tramite pagina php il download (usando gli header opportuni!!!!!!)
    fine :)

    Carlo Antonio Denaro a.k.a. Blac]{out

  12. #12
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Si potrebbe fare in questo modo, molto più semplice:

    crei un array, con contenuti i nomi dei files .rar.

    Esempio:
    Codice PHP:
    $rar = array("archivio1.rar", "archivio2.rar", etc...);
    E poi fai in questo modo:

    Codice PHP:
    for ($i = 1; $i <= count($rar); $i++)
    {
    if (
    $_GET['archivio'] == $rar[$i])
    $link_rar = $rar;
    }

    Header("Location: http://turkosoft.org/download/$link_rar");
    In questo modo, se clicchi sul link http://turkosoft.org/download/?archivio=archivio1.rar ti dovrebbe scaricare l'archivio1 contenuto nella cartella download.

  13. #13
    Guest

    Predefinito

    Citazione Originalmente inviato da funcool
    non ho ben capito ancora come cavolo funziona...
    ho provato così, mi dite se è giusto?
    Codice PHP:
    <?php
    rename
    ("http://turkosoft.org/prova/archivio.rar", "http://turkosoft.org/prova/archivio2.rar");
    ?>
    però come faccio a farlo funzionare in una pagina? cioè dovrei metterlo nel tag:
    Codice HTML:
    <a href="http://">LINK</a>
    come faccio?

    grazie

  14. #14
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    Codice PHP:
    $vecchio_url = "/prova/archivio1.rar";
    $nuovo_url = "/prova/archivio2.rar";

    rename($vecchio_url, $nuovo_url);

    echo
    "<a href=\"http://turkosoft.altervista.org$nuovo_url\">http://turkosoft.altervista.org$nuovo_url</a>";
    na cosa del genere :D

    magari se hanno tutti nomi simili usa
    Codice PHP:
    foreach(glob("/prova/*") as $c){
    if(
    eregi("^/prova/archivio[0-9]+\.rar$",$c))
    $archivio = $c;
    }
    per visualizzare l'attuale archivio, oppure memorizzalo in un file

  15. #15
    Guest

    Predefinito

    mi da questo errore:
    Warning: rename(): open_basedir restriction in effect. File(/download/archivio.rar) is not within the allowed path(s): (PERCORSO) in PERCORSO/script.php on line 35
    che vuol dire? inoltre il file da archivio1.rar non me lo rinomina in archivio2.rar
    da premettere che non sto usando questo script su server AV
    Ultima modifica di TurkoSoft : 21-12-2006 alle ore 16.41.42

  16. #16
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Scusa, TurkoSoft una curiosità: hai provato il mio sistema?

  17. #17
    Guest

    Predefinito

    Citazione Originalmente inviato da silverseraph
    Scusa, TurkoSoft una curiosità: hai provato il mio sistema?
    ma nel tuo modo, non dovrei creare tanti archivi per quanti nomi inserisco nell'array?

  18. #18
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    In base agli archivi che crei, inserisci un nome nell'array...

  19. #19
    Guest

    Predefinito

    Citazione Originalmente inviato da silverseraph
    In base agli archivi che crei, inserisci un nome nell'array...
    io ho un solo archivio... questo archivio deve cambiare nome solo al momento del download da parte dell'utente
    penso che la soluzione di luffio vada bene, però non capisco quell'errore

  20. #20
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Allora puoi fare molto più semplicemente così, se è sl uno:
    Codice PHP:
    $rar = url...

    if (
    $_GET['archivio'] == $rar)
    $link_rar = $rar;

    Header("Location: http://turkosoft.org/download/$link_rar");

  21. #21
    Guest

    Predefinito

    @ silver: ma questo benedetto nome di archivio, cambia? cosa devo mettere nell'array a posto di "url..."?

  22. #22
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Niente, se hai detto che l'archivio è solo uno l'array non esiste più, inserisci nella variabile $rar il nome dell'archivipo. Esempio: $rar = "nome.rar"; su, non è difficile.

  23. #23
    Guest

    Predefinito

    Citazione Originalmente inviato da silverseraph
    Niente, se hai detto che l'archivio è solo uno l'array non esiste più, inserisci nella variabile $rar il nome dell'archivipo. Esempio: $rar = "nome.rar"; su, non è difficile.
    c'è un errore nell'if
    Codice:
    syntax error, unexpected T_IF ...

  24. #24
    Guest

    Predefinito

    $rar = url...

    if ($_GET['archivio'] == $rar)
    $link_rar = $rar;

    Header("Location: http://turkosoft.org/download/$link_rar");
    Al posto metti :

    Codice PHP:
    $rar = url...

    if (
    $_GET['archivio'] == $rar)
    {

    $link_rar = $rar;

    Header("Location: http://turkosoft.org/download/$link_rar");
    }

  25. #25
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da TurkoSoft
    mi da questo errore:


    che vuol dire? inoltre il file da archivio1.rar non me lo rinomina in archivio2.rar
    da premettere che non sto usando questo script su server AV
    Devi togliere lo slash (/) iniziale.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  26. #26
    Guest

    Predefinito

    Citazione Originalmente inviato da funcool
    Devi togliere lo slash (/) iniziale.
    ma dov'è questo slash?

  27. #27
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Quello che metti all'inizio dei percorsi.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  28. #28
    Guest

    Predefinito

    con il codice di Luffio e le correzioni di funcool, mi da questo errore:
    Warning: rename(download/archivio.rar,download/archivio2.rar): Permission denied in /PERCORSO/scarica.php on line 5
    ho modificato pure i permessi sull'archivio, ma non funziona...

    help please

    EDIT: risolto! non avevo dato i permessi anche alla cartella...
    Adesso avrei una domanda, dopo che il file viene rinominato, resta rinominato... però se un altro utente volesse scaricare l'archivio, si ritroverebbe con questo bel pasticcio:
    Warning: rename(download/archivio.rar,download/archivio2.rar): No such file or directory in /PERCORSO/scarica.php on line 5
    cioè, non trova [ovviamente] il file archivio.rar per rinominarlo in archivio2.rar, perchè è già stato rinominato
    Quindi, dopo tutto questo, come faccio ad ovviare il problema?

    grazie
    Ultima modifica di TurkoSoft : 21-12-2006 alle ore 17.09.17

  29. #29
    Guest

    Predefinito

    Citazione Originalmente inviato da TurkoSoft
    con il codice di Luffio e le correzioni di funcool, mi da questo errore:

    ho modificato pure i permessi sull'archivio, ma non funziona...

    help please
    Prova sistemando anche i permessi alla cartella che contiene i file .

    Bye.

  30. #30
    Guest

    Predefinito

    ho editato il mio precedente messaggio #28

Pagina 1 di 2 12 UltimoUltimo

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •