25得票6回答
何时过滤/清理数据:在数据库插入之前还是在显示之前?

当我准备解决输入数据过滤和净化的问题时,我想知道是否有最佳实践(或最常用的实践)?在将数据(包括HTML、JavaScript等)插入数据库之前进行过滤/净化,还是在准备在HTML中显示数据时进行处理更好? 一些注意事项: 我使用PHP进行此操作,但我认为答案与编程语言无关。但如果您对P...

21得票5回答
WordPress - 如何对来自文本区域的多行文本进行清理,而不会丢失换行符?

如果我要对用户输入的一些元数据文本(称为“消息”)进行清理并保存,就会像这样...update_post_meta($post_id, 'message', sanitize_text_field($_POST['message'])); 然后检索并尝试像这样重新显示文本...echo '&l...

19得票1回答
Ruby on Rails: .html_safe和sanitize()的区别

我的视图里有两段代码:<%= sanitize('<h3>winter</h3>') %> <%= '<h3>winter</h3>'.html_safe %> 它们似乎都会将提供的字符串中的HTML标签进行编码。它们之...

18得票1回答
Rails 5.0.0.beta1 - 从未经过消毒的请求参数生成URL是不安全的

我们正在从Rails 4.2.5升级到5.0.0.beta1。在测试过程中,我们原本希望像以前一样看到带有分页链接的索引视图被渲染出来。但是我们现在会得到一个ArgumentError错误页面,例如:ArgumentError in Transactions#index /app/views...

17得票1回答
使用用户插入变量的最佳方法来清理exec命令

我正在编写一个网页界面,连接着我们公司使用的一款可怕的专有软件。这个软件没有真正的用户界面,需要我们授权客户端访问我们的系统才能获取数据。我的网页界面必须运行exec();函数,并且必须传递一些用户输入的变量。$command = "report-call '$type' '$study' '...

16得票3回答
使用nokogiri删除样式属性

我正在使用nokogiri解析一个html页面,想要删除所有的样式属性。 我该如何实现?(我没有使用Rails,因此无法使用其sanitize方法,也不想使用sanitize gem,因为我想要黑名单删除而不是白名单)html = open(url) doc = Nokogiri::HTML(...

16得票6回答
Python正则表达式中使用用户输入是否安全?

我希望让我的用户在一些功能上使用正则表达式。我想知道将用户输入传递给re.compile()的影响。我认为没有办法让用户提供一个字符串来执行任意代码。我想到的风险如下: 用户可能会输入导致异常的内容。 用户可能会输入导致正则表达式引擎花费很长时间或使用大量内存的内容。 对于第一种...

15得票3回答
Rails的sanitize()方法有多好?

我可以在计划向其他用户显示的用户输入文本上使用ActionView::Helpers::SanitizeHelper#sanitize吗?比如,它能正确处理此网站上描述的所有情况吗? 此外,文档提到: 请注意,对用户提供的文本进行清理并不能保证生成的标记是有效的(符合文档类型)或者形...

14得票1回答
使用WordPress,有人能告诉我最好的输入数据过滤方法吗?

我正在使用WordPress作为CMS开发应用程序。 我有一个具有大量输入字段的表单,这些字段需要在存储到数据库之前进行清理。 我想要防止SQL注入、JavaScript和PHP代码注入以及其他有害代码。 目前我正在使用自己的方法来清理数据,但我感觉最好使用WP使用的函数。 我查看了Wo...

14得票5回答
Rails Gem sanitize - 如何进行白名单处理?

现在我们正在使用sanitize gem:https://github.com/rgrove/sanitize问题是,如果您输入了 "hello & world" ,那么sanitize会将其保存到数据库中:hello & world 如何将 & 加入白名单。...