【发布时间】:2016-08-19 16:09:49
【问题描述】:
对于我的所有模型应用程序范围:如果用户提交包含<script></script> 标签的 text_field 或 text_area,那么我希望 rails 在将用户的数据输入保存到数据库之前去除这些标签。
我已经看过以下5年左右的帖子:
我还查看了以下文档,但我还没有弄清楚如何将它们应用于这种情况(在持久化到数据库之前删除脚本标签):
示例:
我scaffold 获取user 资源:
rails g scaffold user first_name last_name age:integer bio:text
然后用户输入以下内容并提交:
应将此user 记录的每个属性的以下内容保存到数据库中:
- first_name: Foo
- 姓氏:Foo
- 年龄:5
- 简介:巴兹
谢谢!
【问题讨论】:
-
@Ven 这只是一个安全网。如果程序员没有在视图中正确转义,可能是通过 AJAX 请求。有关程序员在视图中未正确转义并且脚本标签保留在数据库中的示例,请参阅此问题:stackoverflow.com/questions/39039731/… 如果在保存之前删除了所有脚本标签,我们不再需要担心。
-
Rails 为您逃脱。程序员不会逃避自己。这是 2016 年。
标签: ruby-on-rails ruby