クライアント側の JavaScript を要点として動的な Web アプリケーションを構築することは可能ですか? 私はサーバー側のJavaScript(ノードなど)について話しているのではなく、ほとんどのサイトをjavascriptで処理することについて話している:テンプレート化、フォーム処理など.
もちろん、短い答えは「はい、可能です」です。しかし、私の主な関心事は、データベースが伝統的にサーバー上にある場合のデータベースのデータ操作とセキュリティです。クライアント側の JavaScript 駆動型アプリケーションは、理想的には、データベースとほぼ直接対話する必要があります。Couchdbがこれを許可していることは知っていますが、ユーザーが表示を許可されるべきではないデータを表示するためのクエリを送信できないようにするにはどうすればよいですか? メインの検証もクライアント側であり、簡単に偽造する必要があることを考慮して、入力の検証を処理する方法は?
これは私には非常に興味深いように思えますが、実際には実行可能ではありませんが、私が気付いていないソリューション、または一部のデータベースをラップする小さなセキュリティレイヤー、または無視するプロジェクトなどがあるかもしれません.
私は CouchDb Standalone アプリ ( couchapp )を認識しています。これは私が求めているものに近いテクノロジーですが、考えられるすべてのシナリオに理想的ではないオープンなアプローチを強制します。
このトピックに関する提案は大歓迎です。
EDIT : 例が必要なので、simples ブログで考えてください。最新の 5 つの投稿をフロント ページに表示したいと考えています。誰かが非常に簡単な方法でページを「ハッキング」すると、古い投稿を取得できます。それはいいです。しかし、新しい投稿を挿入したいときはどうすればよいですか? JavaScript がデータベースへのオープン アクセスを許可している場合、誰でも私のブログに投稿を書くことができます。また、誰でも私の投稿や他のユーザーのコメントを削除できます。これは私が望む特権です。また、500 文字を超えるコメントや悪い言葉を含むコメントを避けたい場合はどうすればよいでしょうか? 繰り返しますが、クライアント側での検証であるため、ユーザーはそれをバイパスできます。