簡體   English   中英

如何從 JS 上的輸入字段執行腳本?

[英]How to execute script from an Input field on JS?

單擊按鈕時,我想從可編輯的輸入字段執行腳本

例如,如果您輸入“ alert("x"); ”,我想提醒您“x”,但如果您輸入“ for(i=0;i<3;i++){alert(i);} “我希望它執行它。

我怎樣才能做到這一點?

編輯: eval() 是唯一的解決方案? 因為我讀到它很危險: https : //developer.mozilla.org/en/JavaScript/Reference/Global_Objects/eval#section_5

請注意,您正在接受用戶的輸入並在您網站上的腳本上下文中運行它。 因此,腳本可以執行在您的瀏覽器/域上運行的 JavaScript 能夠執行的任何操作(包括 cookie 竊取、XSS、路過式惡意軟件等)。

為了降低風險,您實際可以做的唯一一件事就是不要 eval() 用戶提供的內容。 我建議考慮以下替代方案:

  1. 使用iframe作為運行用戶腳本的環境: http : //dean.edwards.name/weblog/2006/11/sandbox/
  2. 使用卡哈。 它允許網站安全地嵌入來自第三方的 DHTML Web 應用程序,並實現嵌入頁面和嵌入應用程序之間的豐富交互。 它使用對象能力安全模型來支持各種靈活的安全策略。 http://code.google.com/p/google-caja/

快樂編碼!

使用 eval() 命令,它將評估並執行您傳遞給它的 javascript。

使用 eval,比如 onclick="eval(document.getElementById('your_input'))"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM