Tutorials
.htaccess | veilig & gebruikersvriendelijk
Hierin probeer ik een beetje duidelijk te maken waarvoor je .htaccess kan gebruiken.
Pagina 1
Wat kan een .htaccess-bestand nou?
Met een .htaccess bestand kan je een heleboel dingen doen. Veel gebruikte dingen zijn:
> Toegang beperken dmv;
+ Toestaan opgegeven IPs
+ Blokkeren opgegeven IPs
+ Wachtwoord invoeren
> 'Doorverbinden' van;
+ (Nep) Mappen naar php script(gebruikersvriendelijke URLs)
+ Mappen naar andere URL
> PHP.ini instellingen veranderen
> Hotlinken blokkeren
> Error document vervangen
> Toegang beperken dmv;
+ Toestaan opgegeven IPs
+ Blokkeren opgegeven IPs
+ Wachtwoord invoeren
> 'Doorverbinden' van;
+ (Nep) Mappen naar php script(gebruikersvriendelijke URLs)
+ Mappen naar andere URL
> PHP.ini instellingen veranderen
> Hotlinken blokkeren
> Error document vervangen
Pagina 2
Toegang beperken dmv IP
Je kan de toegang tot bestanden en mappen weigeren voor iedereen door middel van de volgende code:
Dit blokkeert iedereen, met welk IP dan ook, en zonder een wachtwoord te vragen.
Gebruik de volgende code om bepaalde IP adressen te blokkeren:
Vervang hierin natuurlijk de IP adressen met de IP adressen die je wilt blokkeren.
Zoals je kan zien, kan je een hele IP-range blokkeren, let wel op dat je dan ook mensen kan blokkeren die je wel wilt toestaan.
Met de volgende code kan je juist het tegenovergestelde, opgegeven IPs toestaan ipv blokkeren. Let wel op dat alle andere IPs dan worden geblokkeert!
Hierin geld ook dat je een hele range kan toestaan.
Order deny,allow
Deny from allDit blokkeert iedereen, met welk IP dan ook, en zonder een wachtwoord te vragen.
Gebruik de volgende code om bepaalde IP adressen te blokkeren:
order allow,deny
deny from 12.345.37.89
deny from 50.100.*.2
deny from 50.100.
allow from allVervang hierin natuurlijk de IP adressen met de IP adressen die je wilt blokkeren.
Zoals je kan zien, kan je een hele IP-range blokkeren, let wel op dat je dan ook mensen kan blokkeren die je wel wilt toestaan.
Met de volgende code kan je juist het tegenovergestelde, opgegeven IPs toestaan ipv blokkeren. Let wel op dat alle andere IPs dan worden geblokkeert!
order deny,allow
allow from 12.345.37.89
deny from allHierin geld ook dat je een hele range kan toestaan.
Pagina 3
Toegang beperken dmv wachtwoord
Zet de volgende code in een .htaccess-bestand, dat je dan weer in de map zet die je wilt beveiligen met een wachtwoord:
Hierin moet je tenminste het pad naar je .htpasswd(AuthUserFile) aanpassen, maar voor gebruikersvriendelijkheid zou ik ook de "AuthName" aanpassen.
Zet dan één of meerdere gebruikersnaam(en) en wachtwoord(en) in een .htpasswd-bestand. Let wel op dat je dit bestand weer opslaat op het opgegeven pad in de vorige code.
Deze site kan je gebruiken voor het coderen van je wachtwoord(en):
http://www.xs4all.nl/~remcovz/htpasswd.html
AuthGroupFile /dev/null
AuthName "De tekst voor in het toegangs schermpje(Voorbeeld: Members only)"
AuthType Basic
AuthUserFile /PAD_NAAR_.htpasswd_BESTAND/TIP_VERSTOP_ERGENS_WAT_NIET_BEREIKBAAR_IS/.htpasswd
require valid-userHierin moet je tenminste het pad naar je .htpasswd(AuthUserFile) aanpassen, maar voor gebruikersvriendelijkheid zou ik ook de "AuthName" aanpassen.
Zet dan één of meerdere gebruikersnaam(en) en wachtwoord(en) in een .htpasswd-bestand. Let wel op dat je dit bestand weer opslaat op het opgegeven pad in de vorige code.
Deze site kan je gebruiken voor het coderen van je wachtwoord(en):
http://www.xs4all.nl/~remcovz/htpasswd.html
Pagina 4
Gebruikersvriendelijke URLs
Hierover staat al een tutorial op PHPhulp geschreven door Miranda Verburg. Ik vind het dus niet nodig er meer over te zeggen.
Klik hier.
Klik hier.
Pagina 5
Doorverbinden/redirecten
Dit is één van de vele manieren om iemand door te verbinden naar een andere pagina. Misschien niet het gebruikersvriendelijkste, maar ik denk wel het makkelijkste(voor gebruiker en webmaster).
Permanente redirect:
Tijdelijke redirect:
Dit is geen redirect, maar word wel zo genoemd in een .htaccess bestand. Hiermee kan je aangeven dat een map is verwijdert, en dus nergens meer bestaat. Je hoeft dus ook geen nieuwe URL op te geven. Code:
Permanente redirect:
Redirect permanent /map http://www.domain.com/nieuwe_mapTijdelijke redirect:
Redirect temp /map http://www.domain.com/nieuwe_mapDit is geen redirect, maar word wel zo genoemd in een .htaccess bestand. Hiermee kan je aangeven dat een map is verwijdert, en dus nergens meer bestaat. Je hoeft dus ook geen nieuwe URL op te geven. Code:
Redirect gone /mapPagina 6
PHP.ini instellingen veranderen
Hier heb ik sinds kort kennis mee gemaakt, en ik vind dit zeer handig!
Hiermee kan je een heleboel PHP instellingen veranderen, zonder toegang te hoeven hebben tot het php.ini bestand op je server. Zet gewoon het volgende in je .htaccess bestand!:)
Voorbeeld met error_reporting(veel mensen zetten overal bovenaan de pagina error_reporting(E_ALL), dit dus niet nodig:))
Hierin kan je geen E_ALL e.d. gebruiken, maar bits.
Zie de volgende code voor meer informatie:
Bron: http://webhelp.ucs.ed.ac.uk/services/php/
Je kan nog veel meer dingen aanpassen, zie de bovenstaande link.
Voorbeeldje van de code die ik zelf gebruik in WAMP 5:
Hiermee kan je een heleboel PHP instellingen veranderen, zonder toegang te hoeven hebben tot het php.ini bestand op je server. Zet gewoon het volgende in je .htaccess bestand!:)
Voorbeeld met error_reporting(veel mensen zetten overal bovenaan de pagina error_reporting(E_ALL), dit dus niet nodig:))
php_value error_reporting 2047Hierin kan je geen E_ALL e.d. gebruiken, maar bits.
Zie de volgende code voor meer informatie:
# You can't put PHP constants in here so you can build up the
# bits you want set from the following:
# E_ALL is 2047
# E_ERROR is 1
# E_WARNING is 2
# E_PARSE is 4
# E_NOTICE is 8
# E_CORE_ERROR is 16
# E_CORE_WARNING is 32
# E_COMPILE_ERROR is 64
# E_COMPILE_WARNING is 128
# E_USER_ERROR is 256
# E_USER_WARNING is 512
# E_USER_NOTICE is 1024Bron: http://webhelp.ucs.ed.ac.uk/services/php/
Je kan nog veel meer dingen aanpassen, zie de bovenstaande link.
Voorbeeldje van de code die ik zelf gebruik in WAMP 5:
php_flag display_errors on
php_flag display_startup_errors on
php_value error_reporting 2047
php_flag log_errors off
php_flag short_open_tag off
php_value error_prepend_string "<table><tr><td><img src=\"http://www.eliteavengers.org/images/icon_error.gif\" align=\"left\"><font color='#FF0000'><b>A script error showed up, please send a copy of this to an admin:</b><code>"
php_value error_append_string "</code></font></td></tr></table><br>"Pagina 7
Hotlinken
Zie het volgende voorbeeld(uitleg eronder):
Deze code zorgt ervoor dat alleen toegang toegestaan is vanaf http://domain.com of http://www.domain.com. Let wel op dat dit alleen geld voor deze bestand types: (gif|jpg|swf|png).
Natuurlijk moet je domain.com eerst vervangen door de domein die je wilt toestaan, zoals natuurlijk de link naar je eigen website.
Als het bovenstaande je iets te ver gaat, probeer dan deze code:
Deze zal alleen de verkeerde sites blokkeren die jij weer op hebt gegeven. Dit is veel beter omdat je op deze manier minder snel een fout maakt/het minder snel fout gaat.
Je ziet ook veel websites die een afbeelding 'vervangen' wanneer deze wordt gehotlinkt. Dit kan met de volgende code:
Let dan wel op dat je een van bovenstaande codes eerst moet gebruiken, en dan de "RewriteRule"-regel vervangen door bovenstaande code.
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://domain.com [NC]
RewriteCond %{HTTP_REFERER} !^http://www.domain.com [NC]
RewriteRule .*.(gif|jpg|swf|png)$ - [NC,F]Deze code zorgt ervoor dat alleen toegang toegestaan is vanaf http://domain.com of http://www.domain.com. Let wel op dat dit alleen geld voor deze bestand types: (gif|jpg|swf|png).
Natuurlijk moet je domain.com eerst vervangen door de domein die je wilt toestaan, zoals natuurlijk de link naar je eigen website.
Als het bovenstaande je iets te ver gaat, probeer dan deze code:
RewriteEngine On
RewriteCond %{HTTP_REFERER} hackers.com [OR,NC]
RewriteCond %{HTTP_REFERER} abusers.com [OR,NC]
RewriteCond %{HTTP_REFERER} otherbadsite.com [NC]
RewriteRule .*.(gif|jpg|swf|png)$ - [NC,F]Deze zal alleen de verkeerde sites blokkeren die jij weer op hebt gegeven. Dit is veel beter omdat je op deze manier minder snel een fout maakt/het minder snel fout gaat.
Je ziet ook veel websites die een afbeelding 'vervangen' wanneer deze wordt gehotlinkt. Dit kan met de volgende code:
RewriteRule .*.(gif|jpg|swf|png)$ http://www.domain.com/noaccess.gif [R,NC]Let dan wel op dat je een van bovenstaande codes eerst moet gebruiken, en dan de "RewriteRule"-regel vervangen door bovenstaande code.
Pagina 8
Error document vervangen
Meestal als je een foute pagina opvraagt op een website zie je zo'n vreselijk saaie, standaard, 404 error. Voorbeeld: http://www.phphulp.nl/ik_besta_niet.gif.
Dan heb je natuurlijk ook nog die leuke 404 errors, zie als voorbeeld: http://www.fabric8.com/punklink Ik denk dat als de meeste mensen op deze pagina komen, ze het niet meer zo erg vinden om een 404 error te krijgen.
Maar hoe doen ze dat nou? Simpel, met de volgende code:
Hierin is /404.html het bestand dat je wilt gebruiken als 404 pagina.
Opmerking, als je wilt weten hoe je nou een goede 404 error maakt, kan je http://www.plinko.net/404/ bezoeken. Ik geloof dat er ook nog een tutorial op PHPhulp staat, maar die kan ik (nu) niet vinden.
Dan heb je natuurlijk ook nog die leuke 404 errors, zie als voorbeeld: http://www.fabric8.com/punklink Ik denk dat als de meeste mensen op deze pagina komen, ze het niet meer zo erg vinden om een 404 error te krijgen.
Maar hoe doen ze dat nou? Simpel, met de volgende code:
ErrorDocument 404 /404.htmlHierin is /404.html het bestand dat je wilt gebruiken als 404 pagina.
Opmerking, als je wilt weten hoe je nou een goede 404 error maakt, kan je http://www.plinko.net/404/ bezoeken. Ik geloof dat er ook nog een tutorial op PHPhulp staat, maar die kan ik (nu) niet vinden.
Pagina 9
Tot slot
Zoals je ziet kan je .htaccess voor veel dingen gebruiken! Waar je eerst nog altijd een sloom database scriptje gebruikte om IPs te blokkeren, kan je nu gewoon .htaccess gebruiken. Ik denk dat veel gebruikers van PHPhulp alleen het onderdeel "PHP.ini instellingen veranderen" niet kenden, maar toch voor de "beginnende webmasters" een hele tutorial geschreven over de meeste dingen van .htaccess.
Ik hoop dat jullie er wat aan hebben, en opmerkingen en toevoegingen zijn natuurlijk altijd welkom!
Bron voor php.ini instellingen aanpassen: http://webhelp.ucs.ed.ac.uk/services/php/
Ik hoop dat jullie er wat aan hebben, en opmerkingen en toevoegingen zijn natuurlijk altijd welkom!
Bron voor php.ini instellingen aanpassen: http://webhelp.ucs.ed.ac.uk/services/php/
Reacties
0