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

1回目のSSL更新が行われたのだが・・・

ユーザーサイトにSSLを導入して1回目の更新が行われて内部で証明書は更新されている気配だったが、ブラウザで期限の更新が確認できなかった。

更新処理確認したら、https://httpd.apache.org/docs/2.4/ja/stopping.html と同じく、
# apachectl -k graceful
になってたが、

# apachectl graceful
で再起動してみたら更新された。
k オプションって間違いのような・・・
kだとログも出てないような・・・

_(アンダースコア)から始まるタグについて

ブログのタグ機能で、_(半角アンダーバー)から始まる2から11文字の半角英数字がタグとして設定された場合、
テンプレートのTagLoop構文でスキップするようにし、
テンプレート処理前にユーザー変数として値=1をセットするようにしました。

該当する_(アンダースコア)から始まる文字列はタグとして利用できなくなり、
代わりにテンプレート構文での条件分岐がしやすくなりました。

特定の記事が表示されるページにおいて外観を変えるようなことが簡単にできるようになりました。
具体例を上げると、「特定の記事が表示されるページは広告を表示しない。」様なことができます。

公式テンプレートのCSSを調整しました

スマホでコメント入力欄がブラウザ幅を上回る場合があったので、
fieldset{
    min-width:0px;
}
textarea,input,select{
    max-width:100%;
    box-sizing:border-box;
}
を公式テンプレートに追加しました。

content-box前提にフォーム部品を利用している場合は問題が生じるかもしれません。

コメントと掲示板の投稿後リダイレクトを303にしました

コメントと掲示板の投稿後は元のページにリダイレクトされますが、
302 Foundでリダイレクトする際にタイムスタンプをつけてキャッシュを無効化していましたが、
302 Foundではなく303 See Otherでリダイレクトするとブラウザが更新確認をしてくれるようなので303に変更しました。

元の仕様だとタイムスタンプがURLに追加されるため、リダイレクト後に再度ページ移動をすると更新前のキャッシュが利用されてしまう場合がありましたが、
パラメータを追加しないURLにリダイレクトした上でブラウザが適切にキャッシュを更新してくれるようなので古いキャッシュが利用されることが無くなったと思われます。

Firefox,Chromium,Edgeで問題無さそうです。

ssl.rentafree.net にCSRF対策を導入しました。

www.rentafree.net の大半のコマンドはCSRF対策がされていましたが、ssl.rentafree.net はCSRF対策は行っていませんでしたのでCSRFを利用した攻撃が可能だったのですが、
ssl.rentafree.net にもCSRF対策を導入しました。

CSRF対策を導入したのは、
  • パスワード変更ページからの変更要求。
  • 秘密の質問設定ページからの変更要求。
  • ユーザー用問い合わせフォームからの投稿。
の3箇所です。
リファラーで正規判別を行っていますので、リファラーを偽装したり送信しない場合は機能が利用できません。

パスワード変更は元々メール確認が必要でしたのでCSRFで完了させることはできませんでしたし、
他の2箇所もCSRFしても嫌がらせ程度しかできませんから重大な問題が生じる可能性はなかったと思いますが、
一応対策しておきました。