che blocca l'accesso diretto ai file tramite l'input dell'URL pur consentendo allo script sul server di accedere ai file

1

Sto cercando di ottenere quanto segue e sono stato infruttuoso. Gradirei qualsiasi intuizione. Scenario: il collegamento è una pagina web. In questa pagina web sto eseguendo uno script di visualizzazione che richiama i documenti (.png, swf, pdf) e li mostro ai miei visitatori quando visitano la pagina .html. Adesso puoi ancora accedere ai file pdg, swf e pdf di andando a link (o swf o pdf). Come posso bloccare l'accesso diretto (http://www.domainname.com/viewerfiles/nameoffile.png) ma permetti comunque allo spettatore di appoggiarsi sulla pagina html per accedere ai file situati nella cartella viewrfiles. Ho provato il metodo .htaccess ma puoi comunque accedere direttamente ai file. Il mio obiettivo è consentire ai visitatori di visualizzare e stampare i file dalla pagina Web, ma non voglio scrappers e bot che indicizzano / prendono il .pdf, png, swf ecc. e li ospitano su altri siti. Grazie!

    
posta Tracy 02.03.2012 - 23:19
fonte

4 risposte

3

Non è possibile fare ciò che si vuole fare, per ragioni fondamentali. L'utente controlla il client. Dal lato server, il server non ha modo di distinguere un browser legittimo che sta facendo una richiesta per un'immagine sulla pagina (un caso in cui si desidera fornire l'immagine) da un utente malintenzionato che sta tentando di accedere direttamente al immagine (un caso in cui non vuoi servire l'immagine). Queste due situazioni sono indistinguibili dal punto di vista del server, quindi il server deve comportarsi nello stesso modo in entrambi i casi: o serve l'immagine in entrambi i casi, oppure non la serve.

Potresti voler rivisitare quello che stai effettivamente cercando di ottenere, e vedere se c'è un altro modo per raggiungerlo. Cosa stai cercando di impedire? Quale minaccia stai cercando di proteggere contro?

Se si sta tentando di impedire lo scraping, una cosa che si potrebbe considerare è rendere le immagini disponibili solo agli utenti che hanno effettuato l'accesso. Dovrai decidere se è appropriato per il tuo sito, o se non è una buona corrispondenza (forse vuoi che le pagine web e le immagini siano visualizzabili da tutti). Un'altra opzione è quella di impostare il file robots.txt per richiedere gentilmente che i bot non scarichino le immagini. Sarai costretto a fare affidamento sulla buona volontà dei robot. I robot ben educati e gli scraper di solito obbediscono alle istruzioni in robots.txt . Un utente malintenzionato può sempre ignorare il file robots.txt e raschiare il tuo sito comunque, ma sfortunatamente, non c'è modo di impedirlo: un utente malintenzionato sarà sempre in grado di scaricare qualsiasi contenuto che hai deciso di rendere disponibile agli utenti non autenticati . Quindi robots.txt è in qualche modo discutibilmente il meglio che puoi fare ragionevolmente, nella maggior parte delle situazioni.

Vedi anche Come impedire alle persone di rubare foto dal mio sito web? e Come posso impedire alle persone di utilizzare le mie immagini dal mio sito web .

    
risposta data 03.03.2012 - 04:27
fonte
1

Puoi solo decidere se un utente ha accesso al download di un file dal tuo sito oppure no, non puoi controllare cosa fa un determinato utente con il file. Potresti provare a esaminare le proprietà della richiesta per riconoscere il comportamento tipico di un browser che incorpora il file come risorsa nella tua pagina principale, ma queste proprietà sono facilmente falsificabili e tu sei incline a rompere il normale utilizzo del tuo sito.

    
risposta data 02.03.2012 - 23:56
fonte
0

Prova a cercare su Google come utilizzare la protezione Hotlink dell'immagine per impedirne l'accesso diretto.

Se il tuo account di hosting ha cPanel, le loro istruzioni sono: link

    
risposta data 16.11.2012 - 20:27
fonte
-1

hai detto nel tuo post che stai usando .htaccess

Ho già risposto a questa domanda qualche giorno fa su StackOverflow

In quel post si trattava di immagini, ma puoi facilmente modificarlo per ogni cosa

    
risposta data 16.11.2012 - 23:16
fonte

Leggi altre domande sui tag