8
3月
1

レンタル掲示板の改修


今日は久々に?時間が空いたのでレンタル掲示板の海外からの投稿制限とそれを回避するための対策を本格的に行いました。

↓に書いたようにまず、掲示板スクリプトのすべての<form>のACTION部分のURIすべてにPATH_INFOを付与しました。

<form action=”bbs.cgi/USERNAME” method=”POST”>
といった感じ。

それとPATH_INFOを付与すると掲示板内で相対パスで指定しているURI部分(IMGタグとか)がPOST後に
http://bbs.ohtanz.com/bbs.cgi/USERNAME/images/image.gif
みたいになってしまうのですべて絶対パスに修正。

ついでに日本語投稿のみに制限する機能のON/OFFを環境設定画面から行えるように修正。

次に.htaccessにmod_rewriteの記述を追加

RewriteEngine on
RewriteCond %{REQUEST_METHOD} POST [NC]
RewriteCond %{REQUEST_URI} ^\/bbs.*\.cgi.*
RewriteCond %{PATH_INFO} !^\/hogehoge$
RewriteCond %{REMOTE_HOST} !.*\.ohtanz\.com$ [NC]
RewriteCond %{REMOTE_HOST} !.*\.nifty\.com$ [NC]
RewriteCond %{REMOTE_HOST} !.*\.bbtec\.net$ [NC]
RewriteCond %{REMOTE_HOST} !.*\.hyogo\.h555\.net$ [NC]
RewriteCond %{REMOTE_HOST} !.*\.jp$ [NC]
RewriteRule ^.*$ – [F]

・REQUEST_METHODがPOSTで
・REQUEST_URIが/bbs**.cgiで
・PATH_INFOが/hogehogeではなく(特定ユーザーを除外)
・REMOTE_HOSTがohtanz.com/nifty.com/bbtec.net/hyogo.h555.net/その他JPドメイン
ではない場合は403エラーを返す

RewriteEngine on
RewriteCond %{REQUEST_METHOD} POST [NC]
RewriteCond %{REQUEST_URI} ^\/bbs.*\.cgi.*
RewriteCond %{PATH_INFO} ^$
RewriteRule ^.*$ – [F]

・REQUEST_METHODがPOSTで
・REQUEST_URIが/bbs**.cgiで
・PATH_INFOが空
の場合も403エラーを返す

という2つの制限を仕掛けました。

かなりイイカンジです(*’ー’)

Enjoyed reading this post?
Subscribe to the RSS feed and have all new posts delivered straight to you.
1 Comment:
  1. […] 今まではmod_rewriteを使ったPOST制限を行っていたのですが、mod_rewriteはCIDRによる記述が出来ないため、ホストによる制限部分がどうしても正確性に欠けてしまうため、国内からのPOSTでも拒 […]

Post your comment



now loading...