Server-Sent Events/Ajax/PHPを組み合わせたリアルタイム・チャットシステムです。SSEが実装されていないInternet Explorerでは利用できません。リアルタイムとありますが、ユーザー間で同期していないので実際には擬似リアルタイムです。
セキュリティについて、Ajax通信はトークンでCSRF対策を行います。入力文字のバリデーションはクライアント側で行い、制御文字や特殊文字は入力不可として送信しません。サーバー側の対策は出力時のエスケープ処理のみです。
Google ChromeのデベロッパーツールやFirebugなどでストリーミングの中身が確認できます。「ネットワーク」のタブを開くとchat-data-stream.phpがコネクションを張り続けているのがわかると思います。書き込まれた内容はキャッシュファイルに24時間保存され、その後に自動的に削除されます。
ソースコードをこちらのページで公開しています。ライセンスフリーです。
名前 | メッセージ | 送信時間 |
---|