2016-02-23 34 views
-1

我讀了一本關於JavaScript安全性的書,並且這本書說使用alert()在web應用程序開發上的功能並不安全。javascript alert()不安全?

我在書中找不到任何理由。

爲什麼alert()不安全?

+1

我相信安全問題是指無限警報,因爲窗口警報框會阻止瀏覽器的所有用戶操作,直到用戶單擊「確定」。如果有無限警報,用戶將無法正常關閉瀏覽器。某些較早版本的IE默認會阻止警報框。 –

+2

無論你預訂的是什麼書,它都很糟糕...... – dandavis

+0

你有沒有參考或準確的引號? – SilverlightFox

回答

1

不確定這是爲什麼,但alert()是全局範圍的函數,並且可以輕鬆訪問並且可以被覆蓋。在我更加絕望地嘗試做一些調試後,我將它中止並確認()以便在查找錯誤時保持警報在屏幕上彈出。

window.alert = function(msg){ 
    console.log(msg); 
} 

window.confirm = function(msg){ 
    console.log(msg); 
    return true; 
} 
+0

*每個*函數可以用js覆蓋足夠的努力。 – Bergi

+0

非常真實,無論JavaScript/HTML中的深度或模糊程度如何,所有內容都可以被覆蓋/閱讀,唯一可以做的就是讓它更難。有些人並沒有意識到,這些內置的函數並不是特殊的,只是全球範圍內的函數。 –

+0

要點是,通過覆蓋這個全局函數,沒有人可以破解系統 – Thanga

-2

據我所知,alert()可用於跨站點腳本(XSS)攻擊,但大多數Web應用程序防火牆現在都可以檢測這些類型的攻擊。

在我看來,不使用alert()不會使我們的應用程序安全。 alert()只是演示XSS攻擊的一種簡單方法。還有其他一些方法,例如記錄擊鍵,竊取會話cookie等。

本頁詳細說明XSS攻擊。

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

希望這有助於!

+0

'alert'如何啓用XSS攻擊? – Bergi

+0

我不是說alert()啓用了xss攻擊,但它可以用來演示xss攻擊,即使你沒有太大的危害。例如,在下面的文章中,您可以在「阻止單詞」腳本「一節中看到以查看相同的演示 https://www.securestate.com/blog/2012/01/30/web-application-防火牆不等於安全 – Umamaheswaran

+0

那麼,每個函數都可以用於演示,但這不會使'alert'安全或不安全。 – Bergi

0

這是一個FALSE聲明。 Alert只是在客戶端與用戶交流消息的基本功能。除非有東西提交給服務器並在那裏處理,否則我們不需要擔心安全問題。即使通過這個功能,任何人都無法破解任何東西。開心alert ing!

+0

您不必擔心服務器端的安全性。儘管如此,如果客戶端機器出現漏洞(不太可能),並且至少用戶可能會被許多警報惱怒,那麼客戶端計算機可能會被黑客入侵/病毒感染等。你應該擔心這些。 – Bergi

+0

@Bergi在這種特殊情況下,我確信PO對從開發人員的角度使用警報感到擔憂。這就是他爲什麼在SO中發佈這個問題的原因。開發者的責任不是顯示無限的警報。但警報功能是無辜的,無害的。你怎麼看 ? – Thanga