PHP に基づいて js によって生成された js 変数 a=1 は、特定のアクションに対する権限があることを示します。これは安全ですか?
たとえば、ajax がバックグラウンドで特定のアクションをリクエストすると、php によって生成された JS 変数 varpermission=1 が取得されます。
その後、フロントエンド js はこのパーミッションに基づいて特定の操作を実行します。
問題は大きくありませんが、問題が心配な場合は、いくつかの検証を追加できます。
php に基づいて js によって生成された js 変数 a=1 は、特定のアクションに対する権限があることを示します。これは安全ですか?
たとえば、ajax がバックグラウンドで特定のアクションをリクエストすると、php によって生成された JS 変数 varpermission=1 が取得されます。
その後、フロントエンド js はこのパーミッションに基づいて特定の操作を実行します。
。
ただし、私は依然として次のことをお勧めします: 特定のアクションにパーミッションがある場合、そのアクションに対するパーミッションの判断を行うのは、結局のところ、いくつかの問題が発生することを知っているクライアント側で行われます。
なぜ安全ではないのですか?
Ajax はドメインを越えることができないので、コマンドは自分のサーバーからのみ送信できます
自分のサーバーすら信頼できない場合、他に何をする必要があるでしょうか?
グローバル変数 varpermission=1; を偽造すると、フロントエンド JS はこの権限に基づいて何らかの操作を実行します。
これは可能ですか?
誰が偽造したのですか?
誰がそれを偽造しているのですか?
4 階の nowphp からの返信を引用します:
グローバル変数 var Permission=1; を偽造すると、フロントエンド JS はこの権限に基づいて何らかの操作を実行します。
しかし、AJAX はドメインを越えることができないと述べたので安心しました。 Baidu での ajax クロスドメイン送信へ 何が起こっているのでしょうか?
これならできます。
ただし、「このパーミッションに基づいて特定の操作を実行する」には、適切なパーミッションの判断も必要です。
結局のところ、js クライアントは変更できます。
暗号化、復号化...
セキュリティ問題を伴うデータは、ほとんどの場合、クライアントから送信されたデータを信頼すべきではありません。