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/

相关文章:

Laravel 5.5 使用自定义消息进行验证

javascript - 重写并向我的命名空间添加一个 javascript 库

javascript - 使用 Google Maps API 从本地数据库搜索最近的地址

ruby-on-rails - 带有ajax的rails fields_for

Laravel Nova资源扩展/覆盖create方法

php - Laravel Eloquent 类变量文档

javascript - React Native : [Unhandled promise rejection: Error: Invalid hook call. Hooks 只能在函数组件的主体内部调用

javascript - 在表单下使用 .html() 动态插入隐藏文本字段未通过

html - 为什么我的jsp request.getParameter() 没有获取到数据?

PHP POST 不工作