無料ブログ「rentafree.net」の管理人ブログ

Wikiのアドレスに問題がありました

Wikiのページ名に、
「-」又は「~」
が含まれている場合、
これらの文字はURLエンコードされませんが、
アドレスとして利用できなくなっていました。
修正しました。

Wikiは利用者が全然いないので問題が生じていたサイトはないと思いますが、
/cgi-bin/
とかにアタックしてくる不正アクセスが200になっていたので気づきました。


また、
/cgi-bin/
とかの不正アクセス時に負荷がかからないようにするため、
ユーザーサイトのアドレスで使われることのないパターンのリクエスト時に、
ブログとかWikiとかに処理を渡す前にアドレスエラーになる条件を追加しました。

エラーパターン1
/[ここに半角英数字の小文字以外]/
と、半角英数字の小文字以外の後に「/」が続くパターン
これにより、
/cgi-bin/
とかにアタックしてくる不正端末を即ブロックできる。

エラーパターン2
2連「/」
先頭に2連「/」付けてアタックしてくる不正アクセスが多いんで、
それらをブロックできる。

エラーパターン3
/[/以外]/[以降に.]
システムでは、2番目のスラッシュ以降に「.」が出現するアドレスはありえないのでブロック。
/phpmyadmin/index.php
とかをブロックできる。


あと、
アドレスエラー時は今までは全て
404 Not Found
でエラーページを返していましたが、
通常エラーと不正アクセスを区別するために、
明らかに不正なアドレスは、
410 Gone
としました。
転送量ももったいないので、
エラーページも出力しません。


正規のアドレスで問題がでないようにしたはずですが、
問題が生じたらごめんなさい。