phpNote セキュリティに関して
セキュリティ性を向上させる為に、以下のことに注意してください。
パスワードの取り扱い
認証用のIDやパスワードは他人に教えないように注意してください。また、銀行やクレジットカードなどの重要な認証パスワードとおなじ物を使わないようにしてください。
認証タイムアウト設定はあまり長くしない
あまり短すぎても、記事を書いている途中に認証が終了してしまったり不便なので、1時間程度(3600秒)、もしくは「0」(ブラウザが閉じられるまで)にしましょう。
セッション認証モードでは、どんなに長く設定していてもブラウザを閉じると認証は終了します。
PCからモバイル用実行モードで実行しない
モバイル実行モードはモバイル用に設計されています。PCからであれば、必ずPC用の実行モードで実行してください。
例)
/phpnote/index.php (PC用)
/phpnote/m/index.php (モバイル用)
セッションIDを他人に教えない
セッションは、セッションIDが分かれば、クッキーやURLを偽装する事で簡単に「なりすまし」をする事が出来ます。
認証が終れば(ログアウトや期限切れすれば)無意味な文字列と化しますが、認証中は人に教えたりしないで下さい。
※PC実行モードでは、セッションID以外での情報でもチェックをしています。
セッションIDのGET付加はモバイル実行モードでのみ有効です
PC実行モードでは認証モードに関わらずクッキーが有効になっていないとログインできません。モバイルではクッキーが使用できない場合が多いのでやむおえずGETで付加しています。
モバイル実行モードで外部へのリンクをクリックしない
モバイル実行モードでは、URLにセッションIDを付加して送信しています。 外部へのリンクをクリックして、そのページでリファラを取得していたりするとセッションIDが知られてしまいます。 ログイン中にスクリプトから他サイトへのリンクをクリックしないようにして下さい。
積極的にjump.phpを使用してください
積極的にjump.phpを使用してください。
本文などの記事に「http://」「https://」で始まる外部へのリンクが含まれている場合、自動的にjump.phpを通したURLに変換します。
例)<a href="http://chibinowa.net/">link</a> => <a href="/jump.php?http://chibinowa.net/">link</a>
jump.phpを使用すると、セッションIDを付加しないページからリンクします。
モバイル実行モード+PC+クッキーオフのコンボで認証しない
モバイル実行モード(m/index.php等)やってみると分かりますが、URLにセッションIDがくっ付いています。 このIDは、認証中に他の人に知らせてしまうと簡単に「なりすまし」をする事が可能です。 これを避けるため、PC実行モードではクッキーが使用できないとログイン自体出来ないようになっています。 通常、クッキーが使用できればクッキーでセッションIDを受け渡していますし、PC実行モードならセッションID以外の情報でも個人をチェックしている為比較的安心です。 (但し、デタラメに打ったり、通信を傍受したりセッションジャックによる安全性は保障できません) SSLが使える環境であればセキュアクッキーを使用するとなお安心です