★F5&自動リロード対策スクリプト★


リロードを繰り返す荒らしが増えると転送制限の厳しいサーバーでは脅威となる場合があります。

実はF5ボタンによるリロードを防ぐJavaScriptがあります。

当然JavaScript強制にしなければ意味がありません。

またMETAタグでリロードするスクリプトを使われると防げません。しかし攻撃者を減らすことに意義があります。


これは特定のキーコードを無効にするスクリプトでキーコード116はF5に当たります。

これを強制的に0にしてしまうスクリプトです。親フレームではなく表示するどれかのページに入れて下さい。

<script type="text/javascript"><!--
function keydown() {
if(event.keyCode == 116){
event.keyCode = 0;
return false;
}
}
document.onkeydown = keydown;
//-->
</script>


上の方法ではMETAタグでリロードする外部スクリプトを使われると防げません。

このタグは警告ダイアログを出します。これを消すまでリロードも移動もできません。

ただ、ページ数が多いサイトや同じページを何度も開くサイトではフレームを使いメニュー(サブ)のフレームに

このタグを仕込むと良いでしょう。もちろんフレーム以外のページのURLがばれぬよう、細工して隠しましょう。

<SCRIPT language="JavaScript">window.alert('リロード対策');</SCRIPT>


上のタグは警告されているようで不快に感じる人がいると思いますので

こちらを使った方が良いかも知れません(ただしタグは長くなりますが)。

また、こちらは親フレームにも使えますので便利です。下だと効果薄いので出来るだけ上のほうに入れましょう。

<script>
var msgPress="アンチ田代スクリプト。";
var msgWord="OKボタンを押して閉じてください。";
var userInput;
var passWord="";
function anti_tashiro()
{
userInput=prompt(msgPress,msgWord);
if(userInput==passWord){
}
}
anti_tashiro();
//-->
</script>