很抱歉,如果之前有人问过这个问题,但我找不到与我的问题类似的内容。
我有一个带有两个文本区域的网站 - 一个是针对 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/