- Home
- Categorie
- Coding e Sistemistica
- Hosting, Server e Domini
- file .htaccess su server dedicato
-
file .htaccess su server dedicato
Ciao a tutti, chiedo scusa se sto inserendo nella sezione sbagliata.
Ho un problema per la quale ho visto molte discussioni nel web e per la quale avrò fatto almeno una cinquantina di
tentativi.
Voglio semplicemente utilizzare il file .htaccess per impedire che, da altri siti ed anche dal mio sito, si possa scrivereil percorso completo di un immagine per vederla;ovviamente le immagini devono funzionare normalmente, se il codice delle
pagine html/php del mio sito le richiama.
Ho 3 situazioni da presentare.
- Se lavoro in ufficio, dove sul mio pc è installato Wamp (su Windows) ed utilizzo il codice seguente:
Options Followsymlinks
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?127.0.0.1
RewriteRule .(jpg|flv)$ [R,L]Funziona perfettamente, il sito carica tutte le immagini e se provo a scrivere il percorso completo sulla barra degli
indirizzi mi da accesso negato.
- Se lavoro a casa, dove sul mio pc non è installato Apache ed ho un server a parte, utilizzo il codice seguente:
Options Followsymlinks
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?nomeserver
RewriteRule .(jpg|flv)$ [R,L]Il sito carica tutte le immagini, ma se provo a scrivere il percorso completo sulla barra degli indirizzi me le fa vedere.
- Se trasferisco il tutto sull'hosting (server dedicato Linux) ED E' QUI CHE DEVE FUNZIONARE, il codice è questo:
Options Followsymlinks
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?dominio.com
RewriteRule .(jpg|flv)$ [R,L]Anche qui il sito carica tutte le immagini, ma se provo a scrivere il percorso completo sulla barra degli indirizzi me le
fa vedere.
Le cartelle sono così strutturate:
file .htaccess
root->public->.htaccess e poi tutte le cartelle degli utenti con all'interno le immagini personalifile index.php
root->index.phpaltri file
root->php->file.phpGrazie in anticipo di un eventuale vostro aiuto
-
Semplicemente in quella regola si permette ai blank referer di accedere alle immagini e per questo motivo è possibile vedere le immagini direttamente.
La regola dev'essere fatta così
RewriteEngine on RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?pippo.com RewriteRule \.(jpg|flv)$ - [NC,F,L]
è chiaro che così solo i file jpg e flv verificano la regola, eventuali gif, ecc... sono comunque visibili
inoltre è importante verificare che .htaccess stia effettivamente funzionando, perchè può darsi che il server remoto non sia opportunamente configurato
-
grazie, stasera provo subito, ora non posso accedere al server dedicato... ti faccio sapere
-
Niente da fare; se scrivo il codice in questa maniera:
#(questa riga ho dovuto aggiungerla, altrimenti non fonzionava da nessuna parte)
Options FollowsymlinksRewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?miosito.com
RewriteRule .(jpg|flv)$ [NC,F,L]mi funziona a casa ed in ufficio, ma sul sito no.
Sull'host non so come fare a verificare se mod rewrite è attivo, ma so che a casa mi dava errore finchè non ho attivato il modulo e quindi credo sia attivo anche sul dedicato, perchè errori non ne dà..... peccato però che non funziona.
Se provo a creare degli errori di proposito, il sito va in errore, quindi i file .htaccess li legge.Hai delle alternative?
Grazie
-
In queso caso modifica la configurazione di apache come suggerito qui http://www.cyberciti.biz/faq/apache-mod_rewrite-hot-linking-images-leeching-howto/
-
Fatto.
Nel secondo caso della soluzione 1:Le immagini sul sito compaiono, ma posso anche vederle con link diretto.
Nel primo caso della soluzione 1:
Ho il risultato inverso; le immagini sul sito non vengono visualizzate, ma posso vederle con link diretto.
Nel frattempo dall'hosting mi hanno passato la lista dei moduli attivi sul mio dedicato ed ora sono sicuro che mod rewrite è attivo; ecco la lista:
[root@sd365816 ~]# apachectl -M
Loaded Modules:
core_module (static)
authn_file_module (static)
authn_default_module (static)
authz_host_module (static)
authz_groupfile_module (static)
authz_user_module (static)
authz_default_module (static)
auth_basic_module (static)
include_module (static)
filter_module (static)
deflate_module (static)
log_config_module (static)
logio_module (static)
env_module (static)
expires_module (static)
headers_module (static)
unique_id_module (static)
setenvif_module (static)
version_module (static)
proxy_module (static)
proxy_connect_module (static)
proxy_ftp_module (static)
proxy_http_module (static)
proxy_scgi_module (static)
proxy_ajp_module (static)
proxy_balancer_module (static)
ssl_module (static)
mpm_prefork_module (static)
http_module (static)
mime_module (static)
dav_module (static)
status_module (static)
autoindex_module (static)
asis_module (static)
suexec_module (static)
cgi_module (static)
dav_fs_module (static)
dav_lock_module (static)
negotiation_module (static)
dir_module (static)
actions_module (static)
userdir_module (static)
alias_module (static)
rewrite_module (static)
so_module (static)
suphp_module (shared)
Syntax OK
Come mai non c'è verso di far funzionare la cosa? Cosa sbaglio? Hai altre idee?
Grazie della pazienza
-
Come ho scritto sopra conviene lasciar perdere htaccess e modificare la configurazione del vhost in apache.
Inoltre quando fai queste prove installa Livehttpheaders https://addons.mozilla.org/en-US/firefox/addon/live-http-headers/ su firefox e prova al fare il debug della connessione.
Il punto è che quelle regole dicono al webserver di visualizzare quelle immagini quando il referer è il dominio stesso.
-
in pratica vuoi dire che devo inserire le stesse righe di codice direttamente sul file httpd.conf di Apache e di non usare .htaccess, giusto?
-
No, non sono le stesse. E' spiegato come fare nel link che ho postato.
-
conosci directadmin?
perchè, dato che non riesco a raggiungere il file httpd.conf sul server, ho notato che puoi editarlo dall'interfaccia di direct admin; però non è completo (per esempio non mostra i moduli attivi ed ho docuto chiedere all'host); credi che possa aggiugere le righe a quel file e poi riavviare? ho solo un pò di insicurezza
-
Mai usato directadmin, comunque c'è la guida qui http://help.directadmin.com/