• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.
  • This forum has been archived. New threads and replies may not be made. All add-ons/resources that are active should be migrated to the Resource Manager. See this thread for more information.

.htaccess protection

Cory Booth

Well-known member
#1
So I had a few sites running on e107 (e107.org).
They were a victim of a massive attack and many sites (including mine) were hacked.
I actually lost all my e107 AND VB files (along with my file-based attachments - grrrrrr) since the hacker got to my root and hit rm -r or whatever.
Anyways....
I ran across this in the conversations back and forth and I thought I'd share it.
I'm no expert on .htaccess and expressions, but if it seems worth-while - let me know too :)
PHP:
########## Begin - Rewrite rules to block out some common exploits
## If you experience problems on your site block out the operations listed below
## This attempts to block the most common type of exploit attempts
#
# proc/self/environ? no way!
RewriteCond %{QUERY_STRING} proc\/self\/environ [OR]
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_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_STRING} GLOBALS(=|\[|\%[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]
#
########## End - Rewrite rules to block out some common exploits
 
#3
Would this mean changing out "RewriteRule ^.*$ index.php [NC,L]" for "RewriteRule ^(.*)$ index.php [F,L]" or would I just keep them both?

Thanks for this by the way!