Citat:
Originally posted by Helena@Aug 16 2004, 21:09
Ett annat problem var att det inte funkade i Netscape/Mozilla, så gör jag undantag även för IE6 blir det inte många kvar... Hur skulle man kunna göra ovanstående kod bättre?
|
Att det inte funkade så bra med .htaccess hade sin orsak i att...
Kod:
RewriteEngine On
Options +FollowSymLinks
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://graphicgarden.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.graphicgarden.com/.*$ [NC]
RewriteCond %{HTTP_USER_AGENT} ^.*MSIE.*$
RewriteRule .*\.(gif|GIF|jpg|JPG|zip|ZIP|png|PNG|swf|SWF)$ - [F]
...du med ovanstående kodsnutt just blockar de som inte anger någon HTTP_REFERER alls (dvs. vilken sida de kommer ifrån) samt de som kör Internet Explorer (HTTP_USER_AGENT = *MSIE*). Behåll alltså följande rader kod och testa igen...
Kod:
RewriteEngine On
Options +FollowSymLinks
RewriteCond %{HTTP_REFERER} !^http://graphicgarden.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.graphicgarden.com/.*$ [NC]
RewriteRule .*\.(gif|GIF|jpg|JPG|zip|ZIP|png|PNG|swf|SWF)$ - [F]
...så borde du få ett grundläggande skydd där de som anger en HTTP_REFERER (majoriteten) som även är felaktig, får nobben.
Varför det inte funkade med Mozilla/Netscape kan jag inte svara på, men det händer att vissa versioner av webbrowsers anger *MSIE* i HTTP_USER_AGENT-informationen för att berätta att de är MSIE-kompatibla. Därav borde även dessa ha plockats upp av MSIE-blockeringen...