Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    25

    Script per download con richiesta login

    Ciao a tutti,

    volevo modificare una pagina web con accesso solo agli iscritti al sito: loggandosi si può entrare nella pagina ed effettuare i download, ma sarebbe per me molto più conveniente rendere la pagina visibile a tutti gli utenti e limitare solo i download.
    Il risultato che vorrei avere è come questo screenshot qui in basso (visto prima in Firefox e poi in Opera), conoscete per caso qualche script analogo?
    Thanks anticipati,

    Francesco
    Immagini allegate Immagini allegate

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non ho capito bene cosa vuoi fare, ma ti lascio solo una pulcina.

    Immagino che gestisci la sessione con le variabili di sessione (lato server).
    Quindi componi la pagina lato server in modo diverso in base alla condizione dell'utente (iscritto / non iscritto).

    Lato client si puo` fare, ma si fa anche presto a bypassare il controllo e quindi e` decisamente sconsigliabile.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    25
    Uhm... vedrò cosa riuscirò a combinare.
    Rileggendo il mio post mi sono accorto di non essermi spiegato con molta semplicità... .
    Detto in modo più chiaro e coinciso, vorrei non "vincolare" l'intera pagina web ma solo i suoi download, permettendo quindi di visualizzare la pagina (attualmente accessibile solo tramite login) a tutti gli utenti - iscritti e non - ma richiedendo al momento del download la username e password.
    It's all ,

    Francesco

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Cioe` vorresti che venisse chiesto username e passwd solo quando uno clicca sul link per il download.
    E` corretto?

    Domande:
    1. Cosa deve apparire quando uno clicca su un link?
    Deve apparire una pagina per il login?
    Deve apparire una finestrella di prompt (cioe` due finestrelle successive, una per login e una per passwd)?
    Deve apparire una piccola popup?

    2. Se uno si e` gia` loggato, ha fatto un download e vuole farne un altro, deve riapparirgli la richiesta?
    E se no, chi gestisce il fatto che e` gia` collegato (server o client)?

    Nota che dietro alle domande ci sono filosofie diverse, e che alcune sono dei trabocchetti: se non conosci quali sono i compiti di server e client non riesci a rispondere correttamente.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    25
    Spero di rispondere bene .

    1. Non ho ben capito il fatto delle due finestrelle, ad ogni modo il link dovrebbe visualizzare una sorta di "pop-up" in javascript (che conosco molto superficialmente) dove l'utente possa inserire username e password. Non vorrei sbagliarmi, ma penso che esista qualche comando che possa realizzare in pochi passi questa popup.

    2. Per l'uso che ne devo fare, mi occorre solo che ci sia questa richiesta al server all'atto di ogni download. Non mi interessa controllare le sessioni di login (per vedere se un utente è o meno loggato dentro). Quindi l'utente dovrà reinserire sempre username e password ad ogni tentativo di download sulla pagina.

    Thanks per l'attenzione

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    per il punto 1.
    a) Se fai un popup, poi chi ha i popup bloccati potrebbe non riuscire a scaricare.
    b) Se usi il prompt, poi devi inviare user e passwd in chiaro in modalita` get.
    c) Il consiglio migliore ed accessibile sarebbe di fare una pagina di transito, che invia i dati in post.

    Il punto 2 e` superato con la tua risposta.


    1b) <a href="pagina_download.php" onclick="return controlla(this);">
    codice:
    function controlla(dest) {
      var usr = prompt("digita il login");
      if(usr == '') return false;
      var pwd = prompt("digita password");
      if(pwd == '') return false;
      var str = "user="+usr+"?passwd="+pwd;
      dest.href += "&amp;amp;"+str;
      return true;
    }
    naturalmente lato server dovrai controllare i dati postati.


    1c) <a href="pagina_download.php" onclick="self.location='pagina_login&amp;amp;file= '+this.href; return false;">


    1a) <a href="pagina_download.php" onclick="window.open('pagina_login&amp;amp;file='+ this.href, 'login', 'width=200,height=100'; return false;">

    nei casi a) e c) devi poi avere una pagina che riceve il nome del file e lo mette in un campo nascosto (o anche text) e richiede i due campi usr e pwd e trasmette i dati al server in post.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    25
    Originariamente inviato da Mich_
    per il punto 1.
    a) Se fai un popup, poi chi ha i popup bloccati potrebbe non riuscire a scaricare.
    b) Se usi il prompt, poi devi inviare user e passwd in chiaro in modalita` get.
    c) Il consiglio migliore ed accessibile sarebbe di fare una pagina di transito, che invia i dati in post.
    Già, il problema del blocco dei popup lo stavo infatti tenendo presente.
    Il fatto è che quegli screenshot che ho allegato all'inizio del topic non sono proprio dei popup (per lo meno i browser non li consideravano tali): ti allego lo screenshot di quella finestra come viene vista su Internet Explorer. Personalmente non ho capito che tipo di "finestra" sia, ad ogni modo ogni browser ha visualizzato lo script in maniera diversa (gli screenshot sono infatti tutti dello stesso script).
    Credo sia un qualcosa "pronto all'uso" ma non riesco a capire come farlo uscire fuori con il codice... . Non so se questa porzione di codice basta per creare quanto vorrei fare:
    codice:
    <script language="JavaScript" type="text/javascript">
    function DownloadFile(letter){
     file = eval('document.download.'+letter+'.value');
     document.location = 'nomedirectory/' + file + "\n\n";
    }
    </script>
    Forse - non so - lato client è sufficiente, ma lato server come me la cavo?

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Quel codice mi ha l'aria di codice proprietario (forse IE?).

    Comunque l'uso di eval() non e` sicuro (qualche browser potrebbe non implementarlo piu`).

    document.location non esiste, anche se in molti casi viene convertito in window.location.
    E comunque la sintassi corretta e`:
    window.location.href = ...
    ovvero
    self.location.href = ...

    che e` all'incirca il mio consiglio 1c).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    25
    Uhm... non so se sia o meno utile, ad ogni modo ho notato che le richieste dei download avvengono tramite form con il post ( ).
    Lato server ho letto le tue soluzioni, ma come potrei controllare direttamente su un file (di testo ad es., o un database) i vari abbinamenti di username e password degli utenti registrati senza condurli ad una pagina di login come mi consigliavi caldamente? (preferirei evitare troppi spostamenti di pagine per fare un semplice download).
    Utilizzo le impostazioni per il controllo che faccio nella attuale pagina per il login (che vorrei eliminare a favore di questa scelta della "finestra popup")?
    La soluzione b) che mi hai dato si avvicina moltissimo alle mie esigenze, comunque.
    Thanks per la pazienza .

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    lato server, se leggi la combinazione corretta fai partire il download, altrimenti ritorni dov'eri (ti basta una semplice pagina con
    <script>window.history.go(-2);</script>

    - non so se -1 o -2, dipende da quante pagine sono passate

    Comunque per il problema lato server, non so se usi PHP o altro e non saprei aiutarti (io ho sempre usato CGI).
    Potresti eventualmente chiedere nel forum PHP (o ASP, o altro)
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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 © 2024 vBulletin Solutions, Inc. All rights reserved.