#概要
プログラミング初心者です。
AWSのEC2とRDSを利用して、phpで動くウェブサイトを作っています。
ウェブサイトは、phpとデータベース(mysql)を使った4択のクイズサイトです。
このサイトのアクセス状況を知りたいと思い、以下のソースコードをindex.phpに設置しました。
<?php $counter_file = 'count.txt'; $counter_lenght = 8; $fp = fopen($counter_file, 'r+'); if ($fp) { if (flock($fp, LOCK_EX)) { $counter = fgets($fp, $counter_lenght); $counter++; rewind($fp); if (fwrite($fp, $counter) === FALSE) { echo ('<p>'.'ファイル書き込みに失敗しました'.'</p>'); } flock ($fp, LOCK_UN); } } fclose ($fp); echo '<p>'; echo ('アクセス数'.$counter.'</em> '); echo '</p>'; ?>
このコードは、https://on-ze.com/archives/1422を参考にさせていただきました。
上記のソースコードによってアクセス数をカウントしようと思っていたのですが、いざ設置すると、異常にアクセスが多くカウントされます。 始めたばかりのウェブサイトなので、誰も知らないはずなのに、どんどんアクセス数が増えていきます。
別でgoogleアナリティクスも設置してますが、googleアナリティクスは正常に動いています。
#関連した問題
上記の異常なアクセス数と関係があるのかわかりませんが、ウェブサイトをAWSで公開して2週間ほどで、データベース接続のファイルに接続されなくなりました。
エラー内容は、
Host ‘********’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’
つまり、データベースへの大量のエラーリクエストで、接続エラーの上限回数を超えたのが原因でした。
この接続エラーについては、EC2で新規のインスタンスを立ち上げてmysqlに接続して、flush hostsを入力して解除できました。
https://teratail.com/questions/315737
#質問
設置したアクセスカウンターが、なぜ異常にカウントされるのか?
異常なカウントは、ロボットによるものなのか?
AWSの接続エラー(many connection errors)は、この異常なアクセスと関係があるのか?
何でも結構ですので、考えられる原因などありましたら教えてくださいませ!
よろしくお願いいたします!
回答2件
あなたの回答
tips
プレビュー