富文本编辑,防止嵌入javascript代码

发布于 2024-09-15 22:22:17 字数 357 浏览 3 评论 0原文

我使用著名的 symfony 框架制作了一个网站。我想为其添加丰富的编辑功能。我找到了TinyMCE编辑器。但出现了一个问题:用户在内容中嵌入一些 javascript 代码怎么样?例如警报('你好世界')。

我测试了wordpress,这是一个非常著名的博客软件。它也面临着同样的问题。 示例

如果有人嵌入警报脚本也没什么大不了的。但如果他们嵌入了一些危险代码怎么办?您遇到过同样的问题吗?我应该使用 markdown 而不是 html 吗?有什么好的 Markdown 编辑小部件吗?

I made a website using the famous symfony framework. I wanted to add rich editing feature to it. And I found TinyMCE editor. But there comed a problem: how about the user embed some javascript code into the content? such as alert('hello world').

I tested wordpress, which is a very famous blog software. It faces the same problem. example.

It is no big deal if some one embed an alert script. But what if they embed some dangerous code? Have you encountered the same problem? Should I use markdown instead of html? Any good widget for markdown editing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

怎樣才叫好 2024-09-22 22:22:17

最好使用现有的库来清理用户输入,即 html purifier 项目: http://htmlpurifier.org/< /a> 看起来保养得很好而且制作精良。

It's a good idea to use an existing library to clean out your user input, the html purifier project: http://htmlpurifier.org/ seems maintained and well made.

千年*琉璃梦 2024-09-22 22:22:17

不允许在用户输入中嵌入任何 JavaScript。这在客户端或服务器上都很容易清除。制定一个您支持的 HTML 标记的“白名单”,并从您允许的任何内容中删除任何事件侦听器属性。

Don't allow any embedded javascript in your user input. This is easy to clean out either on the client or the server. Have a "white list" of HTML tags you support, and remove any event listener attributes from whatever you do allow.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文