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

html5のコンテキストメニュー使いたい・・・

デモページ
↑ここにコンテキストメニューのデモあるんですが、
前から考えてますけど、
この機能うちのブログエディターにかなり導入したい。
デモページでFirefoxで右クリックするとメニューが拡張されます。

この機能導入できると、
ブラウザの標準コンテキストメニューに独自項目を追加できる。
今は、標準コンテキストメニューを消して独自メニュー出してる。
違いは、
独自メニューだとクリップボードのコピペ機能を使うことができない。
ってわけで、アンドゥ・リドゥは独自実装になってるが、ブラウザ標準でコピペ使わせるべき。
あと、今の仕組みだと入れ子状になったメニューなんかは難しいけど、簡単にできる。


問題は、
デモページのコード、多分Firefox(8.0以上)以外で動かない。
コンテキストメニュー自体はChromeなんかでも対応してると思うんだが、
ちょっと、Firefox以外で対応ブラウザ判別する方法が思いつかない・・・
判別しないと、IEが9も含めて非対応ブラウザになっちゃう。
それはさすがにまずい・・・
IE10出てから考える感じかな・・・

XPのサポート期限は2014年まで。
Vistaは今年までだったはずが、2017年まで伸びちゃった・・・
XPとVistaの人はIE10非対応らしいんで、
ブラウザ乗り換えてもらってシェア落としてもらいたいところ。
現状ではさすがにIE8,9は切り捨てられない・・・

公式サイトのメイン部分にCache-Controlつけました

公式サイトのメイン部分に、
Cache-Control: no-store
ヘッダつけました。

確認してる範囲ではブラウザにキャッシュされて問題になることはありませんでしたが、
明示的にキャッシュ不可にしないと問題が生じる可能性もあると思うので。

公開ページの方も掲示板とかうまいことCache-Controlできないか?
と考えてもいるが、難しいかな・・・

CookieにHttpOnly属性をつけました

セッションIDとワンタイムパスワードのCookieにHttpOnly属性をつけました。

HttpOnly属性ってのはFirefox2の時代からあったらしいんですが、知らなかった・・・
属性つけてクッキー発行した場合、
ブラウザサイドのスクリプトから取得できなくなり、若干セキュリティが強化されます。

セッションIDについては
www ←→ ssl
間での通信にクエリで送ってるんで、
Cookieだけ隠してもあまり意味はないかも。

通常ログインに関しては元々クッキーだけではセッション維持できませんが、
ワンタイムログインはクッキーだけで認証できるんでワンタイムパスワードが隠せるのはちょっと意味があると思う。


まあ、クッキーがスクリプトで読めなかったとしても、
スクリプト埋め込めるんならAJAXとか出来ますから、あまり意味ない気もしますけど。


SSLページの方もセッションIDとワンタイムパスワードはクッキーに保存しますが、
SSLページは全てのページでssl.rentafree.net以外のドメインのコンテンツは埋め込んでいませんので、
元々問題があるとは思いませんのでHttpOnly属性はつけていません。

メインサーバーを再起動しました

php5-cgiの脆弱性のアップデート適用ついでにメインサーバー再起動しました。
サブサーバーの方はさっき再起動してました。
php5-cgiのアップデートは不完全で、今日明日にも新しいのが来るとかどうとかって話なんで、
もう一回アップしそうではあります。
まあ、phpは非公開部分でMySQLのアレ用にしか使ってないんで問題ないとは思います。


あと、ちょうどいい機会なんで、
今まで常駐プロセスは手動起動していましたが、
起動時に自動起動するようにしました。

サービス開始から2年弱ですが、
今までに2回、サーバー再起動に気づかずに長時間障害出したことがありますが、
再起同時に自動起動で、勝手に再起動でも安心。
まあ、予期せぬ再起動が発生すると破損の可能性が生じますけど・・・