[Plugin]Deny Access Maker作りました

自作のスニペット・プラグイン・モジュールなどがあればご紹介ください
フォーラムルール
本家フォーラムなどで既に公開されてるものは、当該トピックまたは制作者サイトなどへのリンクを張っていただくだけでも結構です。
新規部品用にトピックを立てる場合は、ここのトピックを参考に必要な情報を入力するようにしてください。
返信する
mtnmso1
メンバー
メンバー
記事: 27
登録日時: 2013年3月27日(水) 12:45

[Plugin]Deny Access Maker作りました

投稿記事 by mtnmso1 »

error404 loggerを眺めていたら、明らか怪しいアクセスが有ったのでとりあえず弾いて127.0.0.1に転送するプラグインを作りました
※注意事項
MODXアップデート適用前に、一時的にこのプラグインを無効にしたほうが幸せになれます。

コード: 全て選択

/**
 * 
 * Deny Access Maker
 *
 * 不審なアクセスをアプリケーションベースで拒否します
 *
 * @category    plugin
 * @version     1.00
 * @author      mtnmso1
 * @internal    @events OnLoadWebDocument
 * @internal    @modx_category Homepage
 * @internal    @properties 
*/

$denyng=0;
$denylist=array("/wp-*/i","/wordpress*/i","/wp-admin*/i","/wp-login*/i","/admin/i","/install/i","/setup/i");
foreach($denylist as $denylisttmp){
//echo "{$denylisttmp}";
$denychk=preg_match($denylisttmp,$_SERVER["REQUEST_URI"]);
//echo $denychk;
if($denychk!=0){
$denyng=1;
header ("X-NG-at:{$denylisttmp}");
header("HTTP/1.1 301 Moved Permanently");
header("Location:http://127.0.0.1");
$modx->logEvent("29","3","弾いた<BR>\nURL:{$_SERVER["REQUEST_URI"]}<BR>\nUSER:{$_SERVER['REMOTE_ADDR']}\n","DenyAccess");
exit;
}

}
if($denyng==0) header("X-Chk:OK");
else header("X-Chk:NG");
//echo "debug info<br>\nResult={$denyng}\n<br>URL={$_SERVER["REQUEST_URI"]}";
MODx Version:1.0.13j-r1
(Last Check:2014/05/26)
返信する