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

    Download protetto tra due siti sullo stesso server

    Ciao a tutti,

    per evitare problemi di copyright e altro sul mio sito ho messo dei file in download disponibili solo agli utenti registrati con il codice di Jason Withrow che riporto alla fine di questo post (permette il download con ADODB.Stream di file enormi), ora dovrei creare un altro o più siti che permettano il download degli stessi file con lo stesso metodo e pensavo di evitare di duplicarli per ogni sito, ma di far effettuare il download da un unico sito.

    I file sono nella cartella mdb-database del sito 1, ho provato dal sito 2 a scaricarli semplicemente impostando come path http://www.sito1.it/mdb-database/nomefile.est ma naturalmente non funziona.

    I siti sono sullo stesso server, il server è mio e ne ho la gestione completa, come si può fare (se si può fare)? devo impostare qualche permesso alla cartella mdb-database del sito 1 per far accedere dal sito 2? se si che nome devo mettere?

    grazie, fulvio

    Codice PHP:
    '    ###            INIZIO
                    '
    8***********************************************8
                    
    ' Jason Withrow - For ASP101 July 2001
                    ' 
    This page forces the save as dialogue to prevent
                    
    ' files from being opened in the browser.
                    '
                    ' [email]jwithrow@mediaone.net[/email]
                    '
    8***********************************************8
                                    
                    Response
    .Buffer True
                    
                        strFilePath 
    Server.MapPath(PercorsoFile)
                        
    Set oFso CreateObject("Scripting.FileSystemObject")
                        
    Set oFile oFso.GetFile(strFilePath)
                        
    strFileName UCase(oFile.Name)
                        
    strFileSize CLNG(oFile.size)
                        
    Set oFile Nothing
                        Set oFso 
    Nothing
                    
                    
    ' end add
                    
                    Const adTypeBinary = 1
                    
                    '
    strFilePath Request.QueryString("File")
                    
    'strFileSize = Request.QueryString("Size")
                    '
    strFileName Request.QueryString("Name")
                    
                    
    Response.Clear
                    
                    
    '8*******************************8
                    ' 
    Requires MDAC 2.5 to be stable
                    
    ' I recommend MDAC 2.6 or 2.7
                    '
    8*******************************8
                    Set objStream 
    Server.CreateObject("ADODB.Stream")
                    
    objStream.Open
                    objStream
    .Type adTypeBinary
                    objStream
    .LoadFromFile strFilePath
                    
                    strFileType 
    lcase(Right(strFileName4))
                        
                        
    ' Feel Free to Add Your Own Content-Types Here
                        Select Case strFileType
                            Case ".asf"
                                ContentType = "video/x-ms-asf"
                            Case ".avi"
                                ContentType = "video/avi"
                            Case ".doc"
                                ContentType = "application/msword"
                            Case ".zip"
                                ContentType = "application/zip"
                                ContentType = "application/x-zip-compressed"
                            Case ".xls"
                                ContentType = "application/vnd.ms-excel"
                            Case ".gif"
                                ContentType = "image/gif"
                            Case ".jpg", "jpeg"
                                ContentType = "image/jpeg"
                            Case ".wav"
                                ContentType = "audio/wav"
                            Case ".mp3"
                                ContentType = "audio/mpeg3"
                            Case ".mpg", "mpeg"
                                ContentType = "video/mpeg"
                            Case ".rtf"
                                ContentType = "application/rtf"
                            Case ".htm", "html"
                                ContentType = "text/html"
                            Case ".asp"
                                ContentType = "text/asp"
                            Case Else
                                '
    Handle All Other Files
                                ContentType 
    "application/octet-stream"
                        
    End Select
                        
                        Response
    .AddHeader "Content-Disposition""attachment; filename=" strFileName
                        Response
    .AddHeader "Content-Length"strFileSize
                        
    ' In a Perfect World, Your Client would also have UTF-8 as the default 
                        ' 
    In Their Browser
                        Response
    .Charset "UTF-8"
                        
    Response.ContentType ContentType
                        
                        
    Do While Not objStream.EOS
                            Response
    .BinaryWrite objStream.Read(1024)
                            
    Response.Flush
                        Loop
                    
                    objStream
    .Close
                    Set objStream 
    Nothing
                    
    '    ###            FINE 

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Il file da scaricare sta in mdb-database ma il file .asp che forza il download dove sta?

    Roby

  3. #3
    Ciao, è nella root del sito ed effettua il controllo se il cliente è loggato, infatti ci stavo proprio pensando stamattina da sito2 chiamare il file del download di sito1, però a questo punto sito1 deve verificare che l'utente sia loggato, a meno di non passare una variabile in hidden e verificare che il form provenga da sito2, oppure facendogli leggere i cookies scritti da sito2, una Session() non la posso passare da un sito ad un altro... credo... in fin dei conti non sono segreti bancari ma solo una mia tutela su un download di software di video sorveglianza che richiedono comunque un codice di attivazione che il cliente deve già avere.

    Credo sia la soluzione più semplice, se hai consigli sono più che ben accetti

    grazie, fulvio.

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Verifica che la chiamata provenga da uno dei tuoi siti.
    Gli altri li blocchi.

    Roby

  5. #5
    si si infatti controllo che il form arrivi da sito2 e tengo buoni i dati passati.

    grazie mille!!

    fulvio.

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