2017-08-31 2 views
2

私は私がされたURLからデータをフェッチするbase_url変数を使用しています、js変数をグローバル変数として定義するとセキュリティ上の問題が発生しますか?

<script> 
base_url = 'www.domain.com'; 
</script> 

と資産フォルダから自分のURLにAJAXや他のjsのリクエスト時にヘッダにグローバルBASE_URLを定義しています。 PHPフレームワークを使用して構築された私のウェブサイトにセキュリティ上の問題が発生しますか? 攻撃者は他のユーザーのブラウザやその他の操作に関する情報を操作できますか?

答えて

0

上書きすることができます。想像して誰かがコンソールと種類が

base_url = 'www.scam-domain.com' 

匿名関数で行動ラップコードのこのタイプを防ぎ、あなたの変数はグローバルスコープではもはやされているよりも、すぐに

(function() { var base_url = 'www.domain.com' })() 

それを呼んでいないし、それから変更することはカントが開きます場所。

+0

彼らは単にあなたのコードにブレークポイントを設定し、デバッガが停止したとき、変数を再割り当てすることができます。 – Barmar

0

バックエンドからセキュリティを処理する必要があるため、グローバル変数を使用することは余分なセキュリティ上の問題ではありません。

フロントエンドは、グローバル変数またはローカル変数に関係なく操作できます。この​​3210

チェックは、しかしJSにグローバル変数を持つことは良い習慣ではありませんが、それは多くのものに依存します。

チェックこれはあまりにもhttp://wiki.c2.com/?GlobalVariablesAreBad

+1

攻撃者は他のユーザーのブラウザの情報を操作できますか? –

+1

コンソールを使用して、独自のブラウザで変数の値を変更できます。 しかし、誰かを直接変更することはできませんが、XSS攻撃、ウイルス、悪質なプラグインなどを試すことができます。フロントエンドから何も信頼しないようにし、バックエンドから物事を確実にしてください。 –

+0

[https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)](https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)) –

関連する問題