php に基づいて js によって生成された js 変数 a=1 は、特定のアクションに対する権限があることを示します。これは安全ですか?

WBOY
リリース: 2016-06-23 14:04:31
オリジナル
950 人が閲覧しました

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 はこの権限に基づいて何らかの操作を実行します。

これは可能ですか?

誰が偽造したのですか?

グローバル変数 varpermission=1; を偽造すると、フロントエンド JS はこの権限に基づいて何らかの操作を実行します。

誰がそれを偽造しているのですか?


4 階の nowphp からの返信を引用します:
グローバル変数 var Permission=1; を偽造すると、フロントエンド JS はこの権限に基づいて何らかの操作を実行します。

私には知識があまりなく、たとえば、私が var a = 'xx'; とすると、ハッカーは私のスクリプト コードを強制的に var a = ' に変更できるかどうかわかりません。 yy'; か何か、そうでない場合は、ハッカーが作成したページだけが JS 変数を送信することになります


しかし、AJAX はドメインを越えることができないと述べたので安心しました。 Baidu での ajax クロスドメイン送信へ 何が起こっているのでしょうか?

これならできます。
ただし、「このパーミッションに基づいて特定の操作を実行する」には、適切なパーミッションの判断も必要です。

結局のところ、js クライアントは変更できます。

暗号化、復号化...

セキュリティ問題を伴うデータは、ほとんどの場合、クライアントから送信されたデータを信頼すべきではありません。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート