FireBug のような簡単なツールを使用すれば、誰でもクライアント側で JavaScript パラメータを変更できます。時間をかけてアプリケーションをしばらく研究すれば、JS パラメータを変更する方法を学び、サイトをハッキングすることができます。
たとえば、単純なユーザーは、表示されていても変更は許可されていないエンティティを削除できます。優れた開発者はサーバー側ですべてをチェックする必要があることはわかっていますが、これはオーバーヘッドの増加を意味し、リクエストを検証するために、まず DB のデータでチェックを行う必要があります。これには多くの時間がかかり、すべてのアクションに対して誰かが検証する必要があり、これは DB から必要なデータを取得することによってのみ実行できます。
その場合、ハッキングを最小限に抑えるために何をしますか?
検証するより簡単な方法は、すべての JavaScript 関数に別のパラメータを追加することです。このパラメータは、前のパラメータと秘密キー間の署名である必要があります。
上記の解決策はあなたにとってどれくらい良いと思いますか?
私たちのチームはteamworkpm.netを使って仕事を整理しています。編集JavaScript 関数を変更して他の人のタスクを変更します (最初は自分のタスクを編集します)。
ベストアンサー1
サーバーへのすべての関数呼び出しでは、アクションを実行する前にサーバー側で、このユーザーがこのアクションを実行できるかどうかを確認する必要があります。
不要なアクションを防ぐためにサーバー側の権限メカニズムを構築する必要がありますが、個々のユーザー レベルではなく、ユーザー グループを定義すると、作業が簡単になります。