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

Wikiのリンク構文と画像構文を修正しました

Wikiのリンク構文と画像構文で // から始まるプロトコルを省略したURLを利用できるようにしようとしたのですが、
リンク構文で '"
画像構文で '"<>
が埋め込める問題があることに気づきました。

編集権限があれば、
リンク構文でイベント駆動JavaScript等の属性
画像構文で<script>等のあらゆるタグ
が埋め込めました。

無効化しました。
スペース等の非表示文字も埋め込めましたが、ブラウザによっては問題になるかもなので無効化しました。


当初の目的の // から始まるURLにも対応しました。

ユーザーサイトがSSLに対応しました。

ユーザーサイトをhttps://で接続できるようになりました。
ブログ・Wiki・掲示板対応です。

問題無さそうな感じですが、負荷が気になるので場合によっては廃止します。

各ユーザーサイトの基本設定からHTTPSの項目で設定できます。

  • HTTPSは無効
  • HTTPが標準
  • HTTPSが標準
  • HTTPSを強制
の4タイプに設定できます。
強制の場合はリダイレクトされて Strict-Transport-Security ヘッダが出力されます。
無効の場合はHTTPS接続がエラーになります。
標準の場合はcanonicalやFeedの出力URLが変わります。

変更により不具合が生じる箇所などにお気づきでしたらご報告お願いします。

公式サイトの常時SSL化 的なのをやりました

公式サイトの大部分をhttpsで接続できるようにしました。

SSLで接続できるようになったドメインは、
www.rentafree.net
js.rentafree.net
file1.rentafree.net
css.rentafree.net
cgi.rentafree.net
ad.rentafree.net
です。

どっちでもつながります。
負荷が厳しいようなら見直します。

ユーザードメインは今の所SSLでの接続はできません。
ちょっと難しいです。

元々SSLだったssl.
rentafree.netはそのままです。
セキュリティ上、クロスドメインにしたい箇所なので。

公式テンプレートを変更しました

公式テンプレートの「1-2カラム・ハイブリッド」と「1-2-3カラム・ハイブリッド」ですが、レイアウトの切り替えがem単位での判別でしたがpx単位に変更しました。
フォントサイズが16pxの場合で同じ値です。

サイドバーはpx単位なので、全体もpxの方が良いと判断しました。

パスワードにハッシュモードを追加しました

パスワードリマインダが利用できないと利便性が低下することにより強度の低いパスワードが利用される懸念があるためパスワードハッシュによる認証は行っていませんでしたが、
選択式でハッシュモードにする機能を導入しました。
パスワード変更から設定できます。

ハッシュモードにした場合、パスワードリマインダが再設定になります。
パスワードリマインダによる再設定が行われた場合はハッシュモードは解除されます。

ハッシュモードを設定した場合はサーバーにはパスワードの桁数とSHA1ハッシュが記録されます。
桁数違いでハッシュが衝突した場合は否認されます。


[追記]
パスワードは最大255文字まで有効でしたが、今回の変更で桁数を64進1桁で記録する関係で最大64文字になりました。

桁数の記録はヤメました。
元々255文字までだったことと構想段階ではMD5にする考えだったため桁数を限定した方が衝突しにくいと思いましたが、
ランダム生成機能が16桁固定のため16桁のパスワードが多いと思うのと、短いパスワードの場合のことも考えると桁数を限定しない方が良いような気がしたので。

パスワードにユーザー別に固有の値を追加した上でSHA1を計算するように変更しました。

ブログ編集ページの「領域外画像を読み込まない」

ブログ編集ページの「領域外画像を読み込まない」の仕様を少し変更しました。

これまでは初期状態では常にオフの状態でしたが、
既存記事の編集の際に記事内の<img>に1つでもdata-lazy属性(画像遅延ロード機能)がついている場合は初期状態でチェックされた状態にしました。


あまり使わない機能だと思いますので影響はないと思いますが、
元々data-lazy属性の含まれる記事を編集する場合はブログエディターがロードする際にsrc属性をdata-lazy属性の値にしてdata-lazy属性を削除するようになっていますので、
投稿済みの記事を再投稿する場合に「領域外画像を読み込まない」のチェックを毎回する必要があったので判別するようにした感じです。

ただし、手動でdata-lazy属性を設定して、data-lazy属性のある<img>と無い<img>が混在させ、
その記事を再投稿する場合は毎回設定した上でチェックを外す必要があります。

ブログコメントの仕様を変更しました

node.jsではないかと思うのですがブログコメントにJavaScriptを処理していると思われるスパムがくるので、
node.jsに詳しくないので排除できるか不明ですが、投稿の受理に条件を追加しました。

コメント入力欄にフォーカスが当たらなかった場合、コメント投稿を受理しないようにしました。
効果がないようなら処理を外す可能性があります。

多分無いと思いますが、
blog.jsのコメント機能を利用していないか、コメント入力欄のクラス名が「CommentFormComment」以外になっているテンプレートでは対策しないとコメントの投稿ができません。

また、コメント投稿を行った後にブラウザの戻るを使用して再度投稿を行った場合に2重投稿の制限に掛かるようになっていましたが、
戻るを使用した後にも再投稿ができるようにしました。
ただし、ブラウザの仕様によりますが、戻るを使用した場合は今回追加したフォーカスの検知が外れると思いますので再フォーカスが必要です。