2012/04/21

[PHP][Security] PHPカンファレンス北海道に行って来ました

[PHP][Security] PHPカンファレンス北海道に行って来ました

PHカンファレンス北海道に行って来ました。
目的は徳丸さんのセッションです。


徳丸本に載っていないWebアプリケーションセキュリティのメモ

Webアプリケーションとキャッシュ

色々なレイヤで高速化等のためにキャッシュを利用する - フレームワーク - リバースプロキシー

別人問題

  • 別人のキャッシュされた情報が見れてしまう問題

OpenPNEのキャッシュ制御問題のDEMO

  • 現在は修正済み
  • DEMO用に以前のバージョンを利用している

はてなブックマークのDEMO

  • ブラウザのキャッシュで前の人のデータが見える

これは脆弱性なのか?

  • ブラウザやキャッシュサーバの問題
  • でもWebアプリ側で対応したほうが安心
    • cache-control: no-store
    • pragma: no-cache

クリックジャッキング攻撃対策

  • X-Frame-Optionsを使う

evalインジェクション対策

  • JSONのレスポンスを返すときに正しいヘッダーを追加する
    • Content-Type: application/json; charset=utf8
    • X-Content-Type-Options: nosniff

JSONハイジャック対策

  • XMLHttpRequest時に特別なヘッダをいれておいてチェックする
    • こっちを推奨
  • JSONの中にfor(;;)を入れておく

2012/04/19

[perl][hokkaidopm] Hokkaido.pm Casual#0

Hokkaido.pm Casual#0

Hokkaido.pm Casual#0に行って来ました。
参加者も10名を超える盛況ぶりで、今回の参加者はこちらのatndで確認できます。
何故かyappoさんがいたりとCasualなのか微妙な感じがしてましたが、行ってみると結構Casualでした! 次回以降はもっとCasualに行きたいですね。

LTについて

全員LTということで、今回はimpress.js Remoteというのを作ってみました。
Keynote Remoteのようにimpress.jsをiPhoneから操作するというソフトウェアです。

実装の概要としてはnodeでWebSocket Serverを立てて、iPhoneのtouchイベントをPC側に送るシンプル実装です。
まだまだ機能が足りないので、後日整理してからgithubにあげようと思います。

TODOとして以下が残っています

  • Remote側のHTML出力の自動化
  • 一覧ページの追加
  • カンペ表示の対応
  • jQueryを依存から外す
  • Web ServerとWebSocket Serverの共通化

今後について

これから毎月1回開催していくということで、もっとCasualになるといいですね。
LTの途中とかで随時質問していける雰囲気があるといいんじゃないでしょうか。後、最初からビールがあるといいと思います。