javascript - 让用户通过 textarea 调用函数是否危险?

标签 javascript textarea code-injection

很抱歉,如果之前有人问过这个问题,但我找不到与我的问题类似的内容。

我有一个带有两个文本区域的网站 - 一个是针对 MathJax 的,与这个非常相似 https://cdn.mathjax.org/mathjax/latest/test/sample-dynamic-2.html

第二个文本区域用于轻松进行 ThreeJS 编程。 因此,用户可以编写 sphere1 = new sphere(); 按 RUN,下面的 Canvas 上会出现一个 3D 球体。 我的页面没有任何 PHP,而且我还没有在任何地方存储用户输入,它们仅适用于 session 。

函数run();如下

function run() {
    Clear(); //Removes all objects from the scene
    if (!document.getElementById('newScript')) {
        //if script id doesn't exist it creates new script
        var position = currentPosition(); //Current slide
        var video = $('#slide-' + position).find(".animCode").val();
        var bodyID = document.getElementsByTagName("body")[0];
        var newScript = document.createElement("script");
        newScript.id = 'newScript';
        newScript.type = "text/javascript";
        newScript.innerHTML = video;
        bodyID.appendChild(newScript);

    } else {
        //else removes previous scripts and overwrites it
        var position = currentPosition(); //Current slide
        var video = $('#slide-' + position).find(".animCode").val();
        var e = document.getElementById('newScript');
        e.id = 'replace';
        var newScript = document.createElement("script");
        newScript.id = 'newScript';
        newScript.type = "text/javascript";
        newScript.innerHTML = video;
        var bodyID = document.getElementsByTagName("body")[0];
        bodyID.replaceChild(newScript, e); //remove old script

    }
}

我的问题是:这危险吗?我读过很多关于 SQL 注入(inject)的文章,但他们都谈论在 php 中存储数据,这不是我的情况。

最佳答案

这并不危险,Javascript是一种客户端语言,您网站的任何用户都可以通过浏览器控制台在您的网站上看到甚至执行Javascript。

关于javascript - 让用户通过 textarea 调用函数是否危险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37643813/

相关文章:

javascript - 使用 AngularJS 将玩家添加到列表中

javascript - Angular 用户界面日历事件消失

javascript - 将依赖项注入(inject) Ember 模型

javascript:将文本附加到文本区域性能

nginx - 如何通过 Nginx 注入(inject)自定义内容?

javascript - 在对象外部执行 onclick 操作

JQuery:.val() 不适用于文本区域

angular - Summernote 文本区域的输入字段文本验证失败

c++ - 如何打印 C++ 中捕获的异常的堆栈跟踪和 C++ 中的代码注入(inject)

java - gson.JsonObject 和类加载造成非常奇怪的情况