javascript - Laravel 4 如何防止 js 注入(inject)?

标签 javascript forms laravel tinymce

我创建了一个联系页面,用户可以在其中添加消息。我使用 tinymce 作为表单。

问题在于我显示所有消息的位置。我无法使用 {{{ $message->body }}} 因为它将 html 标签转换为字符串。如果我使用 {{ $message->body }},它会执行 JavaScript 并且可能很危险。

如果包含脚本标签,我需要一些东西来使表单验证失败。那么在 Laravel 4 中该怎么做呢?有没有一种“laravelic”方法可以做到这一点?

最佳答案

我想你可以尝试这个(在 User Contributed Notes 中查看):

$tagsToStrip = array('@<script[^>]*?>.*?</script>@si'); // you can add more
$message = preg_replace($tagsToStrip, '', $message->body);

关于javascript - Laravel 4 如何防止 js 注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23721927/

相关文章:

Javascript 对象类型

javascript - module.require(...).* 是否返回 module.exports.* 的副本或它的引用?

javascript - 来自文本框的动态进度条

forms - 在 Angular 中包装 FormControl (2+)

laravel - 使用 sail 运行现有的 Laravel 项目

javascript - 是否可以在两个或多个 Angular 6 项目或应用程序之间共享模块?

javascript - 渲染 d3.js html 表而不阻塞 UI

javascript - 单击禁用按钮时制作警报窗口

php - Laravel 开发 : Implication when creating MySQL database manually

php - 这是我的 laravel 项目中的一个额外的 ")",它为我查询 laravel