IP Filtering with .htaccess

Hello,

Ternyata dengan menggunakan code php $_SERVER[‘REMOTE_ADDR’];
tidak menjamin pemutakhiran dan validitas data ip record yang baik. Karena kata orang-orang yang experienced as developer php sih katanyanya begini: “.. may not actually contain real client IP addresses, as it will give you a proxy address for clients connected through a proxy..” . Meskipun kita bisa melakukan kreatifitas dan pengayaan dari code yang kita buat seperti penggunaan fungsi X-Forwarded-For , sepertinya masih bisa terjadi fraud.

Nah, sepertinya .htaccess pada document root dari web server bisa kita manfaatkan secara langsung. Materi dan posting lama yang saya implementasikan pada vm instance hosting-an di google (melalui AWS-nya), namun semoga cukup mengingatkan.

Singkatnya seperti ini:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
# Optional Rewritebase
RewriteBase /<path_base_directory>

RewriteCond %{REMOTE_ADDR} ^112\.215\.6\[6-3\] [OR]
RewriteCond %{REMOTE_ADDR} ^112\.215\.36 [OR]
RewriteCond %{REMOTE_ADDR} ^112\.215\.4\[4-5\] [OR]
RewriteCond %{REMOTE_ADDR} ^112\.215\.50 [OR]
RewriteCond %{REMOTE_ADDR} ^112\.215\.\[3-6\]\[0-9\] [OR]
RewriteCond %{REMOTE_ADDR} ^27\.111\.5\[6-8\] [OR]
RewriteCond %{REMOTE_ADDR} ^27\.111\.49 [OR]
RewriteCond %{REMOTE_ADDR} ^27\.111\.5\[0-1\] [OR]
RewriteCond %{REMOTE_ADDR} ^103\.3\.223
RewriteRule ^(.*)$ http://<your_direct_domain>/blabla/ [R=302,L]
</IfModule>

Pada konteks diatas, kita menggunakan range ip yang kita peroleh dengen kombinasi regex yang bisa kita variasikan lebih jauh untuk selanjutnya.

Terima Kasih πŸ™‚

Advertisements

Tinggalkan pesan atau komentar

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s