2017-08-31 110 views
2

我在頭將js變量定義爲全局會導致任何安全問題嗎?

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

和Ajax或從資產文件夾我自己的網址其它JS請求過程中定義的全局BASE_URL,我使用base_url變量來從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)) –