そうすれば、各ページで送受信するJSONデータのフォーマットさえきっちり決めておけば完全にクライアントサイドとサーバーサイドの開発を分けて行え効率的にウェブサービスを開発できると思うのですが、如何でしょうか。
この様な形式をとった事例を知らないので、根本的にセキュリティ的な脆弱性を抱えているのかもしれないと心配になり質問を投稿させて頂きました。
このような開発形式の可否、または可能な場合でも、考え得る脆弱性や、見落としやすいと思われるセキュリティ対策ポイントなど、アドバイス頂ければと思います。
会員専用ページのコンテンツデータは全てAjaxにより取得する予定なので静的html自体は非会員に閲覧されても問題無い内容とします。
javascriptだとソースコードが丸見えですよ
2ヶ所で開発とはどういうことでしょうか。クライアントサイドとサーバーサイドを個別の開発チームで分けるということですか?
もちろんそれも可能ですが、目的は飽くまでシステムのモジュール化に近い構築方法の採用なので、恐らく大規模システムでもない限り1チームでの開発になると思います。
→クライアントサイドとサーバーサイドのシステム間の依存性を無くして開発を進めたい
それとも、HTMLテンプレートエンジンなどを採用して構築した方が開発・管理の分離は楽だったりするのでしょうか。
恥ずかしながらテンプレートエンジンやフレームワークの使用経験がありませんので、その辺りにお詳しいのであれば是非ご教授頂ければと思います。
リファラ情報は自己申告なのでリファラチェックは根本的に何か間違っている気はしますよね。デメリットも少なくないですし。
セッション毎の固定トークンとワンタイムトークンでしたら、どちらの導入を行っていますか?
単にどちらがより強固であるかと言えはもちろんワンタイムトークンの方が上なのでしょうが、
予算や工数の問題を含め、実際のディレクションではどちらを採用する場合が多いのかお聞かせ頂けませんでしょうか。
(はてなにより削除しました)
セキュリティ・コンサル的な言い方をすると、「十分」という方式は絶対にないんですけどね。
コストとの兼ね合いで考えれば、リファラチェックよりワンタイムトークンを導入するのが現実的でしょうね。
ふぅ
なんかポイントポイントうるせーーw
2カ所で開発が行われると、開発スタッフを一括管理ができない。2カ所の内部管理が違うと非常勤増員や人事異動に管理のスキができやすい。資料を両者間で持ち出したり、郵送時にミスがでやすい。
(はてなにより削除しました)
(はてなにより削除しました)
(はてなにより削除しました)
(はてなにより削除しました)
(はてなにより削除しました)
(はてなにより削除しました)
(はてなにより削除しました)
(はてなにより削除しました)
通信の暗号化は、必要ですよね。
SSLを用い暗号化するつもりです。
XSRF,CSRF対策はワンタイムトークン方式もしくはセッションID毎の固定トークン方式を採用しようと考えています。十分でしょうか?
リファラチェックは工数に対しての信頼性向上率があまり高くないと思い実装を見送る予定です。
クライアント=サーバ通信において、悪意のある通信に割り込まれないように対策を施します。
ありがとうございます。
Ajax(Javascript)を使う以上それは前提条件なので、当然把握しています。
それによって起こりうる脆弱性やその対策は何でしょうか?