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

ブログテンプレートの仕様を修正しました

ブログテンプレートで、
EntryLoopは一度しか実行できませんでしたが、
それだと、記事タイトル一覧と本文つきの一覧を別々に設置するようなテンプレートを作成することができないので、
修正しました。

EntryLoopの複数回使用が可能になりました。
EntryLoop内からEntryLoopはできません。

証明書更新しました

SSLドメインのSSL証明書を更新しました。
期限: 2013年3月

こっちで更新作業しなきゃいけないのめんどい・・・

制限アドレスを追加しました

AWStatsへのアタックか何かぽい不正アクセスがやたら多いんですが、
この前作った不正アクセス時の負荷軽減で、抜けられちゃうアドレスが結構あったんで、
制限アドレスを追加しました。

クエリ付きリクエストで、
クエリ前のパスに「.」が含まれている場合は不正リクエストとして、何も処理せず
410 Gone
します。

パスの不正じゃなくてクエリの不正な感じになるんで、
410じゃないほうがいい気もしますが、
4xx系にクエリ不正用のエラーコードは無さそうなのと、
410で統一したほうが解析しやすいんで410にしました。

アクセス解析を修正しました

不正アドレスへのリクエストの解析用に、
サービスサイト用のアクセス解析を修正しました。

不正アドレスへのリクエストログはユーザーには提供していないので、
ユーザーの閲覧できるアクセス解析に変化はありません。

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
としました。
転送量ももったいないので、
エラーページも出力しません。


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