Bravo List
Register
Go Back   > Bravo List > P2P > Forum > Tutorials
Reply
  #1  
Old 29th July 2013, 16:59
Chez's Avatar
Chez Chez is offline
Senior Member
 
Join Date: Sep 2011
P2P
Posts: 278
Default HTACCESS
Introduction

Some people might not aware of the power of htaccess, I have 17 htaccess methods in this article which I have used or tested it before, and I think some of them are essential tricks and tips to protect your webserver against malicious attacks and other would able to perform simple tasks efficiently such as redirection and web server optimization.

Last but not least, if you have been looking for web hosting services, you might want to have a look at this unlimited web hosting. :)

General

The following htaccess will able to help you to achieve simple task such as redirection and web server optimization.

1. Set Timezone

Sometimes, when you using date or mktime function in php, it will show you a funny message regarding timezone. This is one of the way to solve it. Set timezone for your server. A list of supported timezone can be found here

PHP Code:
SetEnv TZ Australia/Melbourne 
2. SEO Friendly 301 Permanent Redirects

Why it's SEO friendly? Nowadays, some modern serach engine has the capability to detect 301 Permanent Redirects and update its existing record.

PHP Code:
Redirect 301 http://www.queness.com/home http://www.queness.com/ 
3. Skip the download dialogue

Usually when you try to download something from a web server you get a request asking whether you want to save the file or open it. To avoid that you can use the below code on your .htaccess file

PHP Code:
AddType application/octet-stream .pdf
AddType application
/octet-stream .zip
AddType application
/octet-stream .mov 
4. Skip www

One of the SEO guideline is, make sure there is only one URL pointing to your website. Therefore, you will need this to redirect all www traffic to non-ww, or the other way around.

PHP Code:
RewriteEngine On
RewriteBase 
/
RewriteCond %{HTTP_HOST} ^www.queness.com [NC]
RewriteRule ^(.*)$ http://queness.com/$1 [L,R=301] 
5. Custom Error page

Create a custom error page for each of the error codes.

PHP Code:
ErrorDocument 401 /error/401.php
ErrorDocument 403 
/error/403.php
ErrorDocument 404 
/error/404.php
ErrorDocument 500 
/error/500.php 
6. Compress files

Optimize your website loading time by compressing files into smaller size.

PHP Code:
# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text
/html
AddOutputFilterByType DEFLATE text
/xml
AddOutputFilterByType DEFLATE text
/css
AddOutputFilterByType DEFLATE application
/xml
AddOutputFilterByType DEFLATE application
/xhtml+xml
AddOutputFilterByType DEFLATE application
/rss+xml
AddOutputFilterByType DEFLATE application
/javascript
AddOutputFilterByType DEFLATE application
/x-javascript 
7. Cache files

File caching is another famous approach in optimizing website loading time

PHP Code:
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch
8. Disable caching for certain file type

Well, in the other hand, you can disable caching for certain file type.

PHP Code:
# explicitly disable caching for scripts and other dynamic files
<FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch
Security

The following htaccess code will able to enhance the security level of your webserver. Hotlinking protection is pretty useful to avoid other people using images that stored in your server.

1. Hotlinking protection with .htaccess

Hate it when people stealing bandwidth from your website by using images that are hosted in your web server? Use this, you will able to prevent it from happening.

PHP Code:
RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?queness.com/.*$ [NC]
RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L


2. Prevent hacks


If you want to increase the security level of your website, you can chuck these few lines of codes to prevent some common hacking techniques by detecting malicious URL patterns.
PHP Code:
RewriteEngine On
 
# proc/self/environ? no way!
RewriteCond %{QUERY_STRINGproc/self/environ [OR]
 
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRINGmosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
 
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRINGbase64_encode.*(.*) [OR]
 
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
 
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRINGGLOBALS(=|[|\%[0-9A-Z]{0,2}) [OR]
 
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING_REQUEST(=|[|\%[0-9A-Z]{0,2})
 
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L
3. Block access to your .htaccess file


The following code will prevent user to access your .htaccess file. Also, you can block multiple file type as well.

PHP Code:
# secure htaccess file
<Files .htaccess>
order allow,deny
deny from all
</Files>
 
# prevent viewing of a specific file
<Files secretfile.jpg>
 
order allow,deny
 deny from all
</Files>
 
# multiple file types
<FilesMatch ".(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$">
 
Order Allow,Deny
 Deny from all
</FilesMatch
4. Rename htaccess files

You can also rename your .htaccess file name to something else to prevent access.

PHP Code:
AccessFileName htacc.ess 
5. Disable directory browsing

Avoid the server from displaying directory index, or the opposite.

PHP Code:
# disable directory browsing
Options All -Indexes
 
# enable directory browsing
Options All +Indexes 
6. Change default Index page


You can change the default page index.html, index.php or index.htm to something else.

PHP Code:
DirectoryIndex business.html 
7. Block unwanted visitor based on referring domain


PHP Code:
# block visitors referred from indicated domains
<IfModule mod_rewrite.c>
 
RewriteEngine on
 RewriteCond 
%{HTTP_REFERERscumbag.com [NC,OR]
 
RewriteCond %{HTTP_REFERERwormhole.com [NC,OR]
 
RewriteRule .* - [F]
 
</
ifModule
8. Blocking request based on User-Agent Header

This method could save your bandwidth quota by blocking certain bots or spiders from crawling your website.

PHP Code:
# block visitors referred from indicated domains
<IfModule mod_rewrite.c>
SetEnvIfNoCase ^User-Agent$ .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpicturesHTTP_SAFE_BADBOT
SetEnvIfNoCase 
^User-Agent$ .*(libwww-perl|aesop_com_spidermanHTTP_SAFE_BADBOT
Deny from env
=HTTP_SAFE_BADBOT
</ifModule
9. Secure directories by disabling execution of scripts


PHP Code:
# secure directory by disabling script execution
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options 
-ExecCGI 
__________________
http://www.bvlist.com/images/avatars/signaturepics/sigpic16443_2.gif
Reply With Quote
The Following User Says Thank You to Chez For This Useful Post:
rfadown (9th October 2013)
  #2  
Old 7th March 2017, 17:42
XGODY
Guest
 
Posts: n/a
Thumbs up
Very useful thread very good mate like it a lot
Reply With Quote
Reply

Tags
htaccess

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



All times are GMT +2. The time now is 01:40. vBulletin skin by ForumMonkeys. Powered by vBulletin® Version 3.8.11 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions Inc.