上面这个图是在PHP里面的做法,请求过来,返回一个JS执行到前端(其实就是输出一个JS文件吧,我是这么理解的)
上面是我在express中的,输出的JS没有在前端执行
捉包看到类型已经是JS了
里面的内容是一个alert,但是并没有执行
(这个操作在PHP是可行的)
上面这个图是在PHP里面的做法,请求过来,返回一个JS执行到前端(其实就是输出一个JS文件吧,我是这么理解的)
上面是我在express中的,输出的JS没有在前端执行
捉包看到类型已经是JS了
里面的内容是一个alert,但是并没有执行
(这个操作在PHP是可行的)
这个事不要这么做。你这么干,安全问题很大。
如果说你想要弄一段代码在前端执行,可以在前端先把要执行的代码写好,然后在服务端返回一个标志,当前端收到这个字段,就执行指定的代码。
const http = require('http');
http.createServer(async (req, res) => {
res.setHeader('Content-Type', 'text/html')
res.end("<script>alert('ok')</script>");
}).listen(8000)
3 回答2.6k 阅读✓ 已解决
1 回答911 阅读✓ 已解决
2 回答1.2k 阅读
1 回答863 阅读✓ 已解决
2 回答1.6k 阅读
2 回答596 阅读✓ 已解决
2 回答1k 阅读
你输出的这个信息 对前端来说就是一个字符串。想要前端执行,就需要在前端接到响应后执行
eval()
函数,传入你收的代码