标签: sanitize

在Rails控制器中使用清理

我想sanitize在控制器内打电话.这是我试过的:

class FooController < ApplicationController
  include ActionView::Helpers::SanitizeHelper
  # ...
end
Run Code Online (Sandbox Code Playgroud)

但是,我收到此错误:

undefined method `white_list_sanitizer' for FooController:Class
Run Code Online (Sandbox Code Playgroud)

我四处搜索,人们建议将include行切换为include ActionView::Helpers,但这会导致此错误:

undefined method `url_for' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)

什么是正确的打电话方式sanitize?我正在使用Rails 2.3.5.

controller ruby-on-rails helper sanitize

24
推荐指数
3
解决办法
1万
查看次数

何时过滤/清理数据:在数据库插入之前或显示之前?

当我准备解决输入数据过滤和消毒问题时,我很好奇是否有最佳(或最常用)的做法?在将数据插入数据库之前过滤/清理数据(HTML,JavaScript等)是否更好?还是应该在准备数据以便在HTML中显示时完成?

几点说明:

  • 我在PHP中这样做,但我怀疑这个问题的答案是语言不可知的.但是,如果您有任何特定于PHP的建议,请分享!
  • 这不是转义数据库插入数据的问题.我已经很好地处理了PDO.

谢谢!

html php filter sanitize

21
推荐指数
5
解决办法
5841
查看次数

使用预准备语句时是否需要mysql_real_escape_string()?

对于这个查询,有必要使用mysql_real_escape_string吗?

任何改进或查询都没问题?

$consulta = $_REQUEST["term"]."%";

($sql = $db->prepare('select location from location_job where location like ?'));

$sql->bind_param('s', $consulta);
$sql->execute();
$sql->bind_result($location);

$data = array();

while ($sql->fetch()) {
    $data[] = array('label' => $location);
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,查询速度很重要.

php mysql mysqli prepared-statement sanitize

20
推荐指数
1
解决办法
6836
查看次数

Rails 5.0.0.beta1 - 从非清理的请求参数生成URL是不安全的

我们正在从Rails 4.2.5升级到5.0.0.beta1

在测试时,我们希望看到像以前一样使用分页链接呈现的索引视图.但是我们现在得到一个ArgumentError错误页面,例如:

ArgumentError in Transactions#index 
/app/views/kaminari/_paginator.html.erb where line #10 raised:


<%= paginator.render do -%>

Generating an URL from non sanitized request parameters is insecure!

Application Trace | Framework Trace | Full Trace

app/views/kaminari/_paginator.html.erb:10:in block in _app_views_kaminari__paginator_html_erb___4026289994022119719_69904100316060' app/views/kaminari/_paginator.html.erb:9:in_app_views_kaminari__paginator_html_erb___4026289994022119719_69904100316060'
app/views/transactions/index.html.erb:2:in `_app_views_transactions_index_html_erb__422882858554400818_60602560'
Run Code Online (Sandbox Code Playgroud)

kaminari提出了一个问题

进一步研究这里是新的Rails 5.0.0.beta1代码,现在抛出错误: ActionPack的/ lib目录/ action_dispatch /路由/ url_for.rb

将它添加到config/application.rb'修复'它,但不是一个好主意:

config.action_controller.permit_all_parameters = true
Run Code Online (Sandbox Code Playgroud)

而是添加这个并不能解决问题,不确定原因:

config.action_controller.always_permitted_parameters =  [:current_page, :page, :total_pages, :per_page, :remote, :paginator]
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails upgrade sanitize kaminari ruby-on-rails-5

17
推荐指数
1
解决办法
3543
查看次数

使用Python的正则表达式的用户输入是否安全?

我想让我的用户使用正则表达式来实现某些功能.我很好奇将用户输入传递给re.compile()的含义是什么.我假设用户没有办法给我一个可以让他们执行任意代码的字符串.我想到的危险是:

  1. 用户可以传递引发异常的输入.
    • 用户可以传递导致正则表达式引擎花费很长时间的输入,或者使用大量内存.

1.解决方案很简单:捕获异常.我不确定是否有一个很好的解决方案2.也许只是限制正则表达式的长度会起作用.

还有什么我需要担心的吗?

python regex user-input sanitize

16
推荐指数
2
解决办法
2409
查看次数

使用nokogiri剥离样式属性

我正在使用nokogiri删除一个html页面,我想删除所有样式属性.
我怎样才能做到这一点?(我不使用rails所以我不能使用它的清理方法,我不想使用sanitize gem'因为我想黑名单删除而不是白名单)

html = open(url)
doc = Nokogiri::HTML(html.read)
doc.css('.post').each do |post|
puts post.to_s
end

=> <p><span style="font-size: x-large">bla bla <a href="http://torrentfreak.com/netflix-is-killing-bittorrent-in-the-us-110427/">statistica</a> blabla</span></p>
Run Code Online (Sandbox Code Playgroud)

我想要它

=> <p><span>bla bla <a href="http://torrentfreak.com/netflix-is-killing-bittorrent-in-the-us-110427/">statistica</a> blabla</span></p>
Run Code Online (Sandbox Code Playgroud)

html sanitize nokogiri

16
推荐指数
2
解决办法
1万
查看次数

WordPress - 如何从textarea中清理多行文本而不会丢失换行符?

如果我清理并保存用户输入的一些元文本(称为"消息"),就像这样......

update_post_meta($post_id, 'message', sanitize_text_field($_POST['message']));
Run Code Online (Sandbox Code Playgroud)

...然后检索并尝试重新显示这样的文本......

echo '<textarea id="message" name="message">' . esc_textarea( get_post_meta( $post->ID, 'message', true ) ) . '</textarea>';
Run Code Online (Sandbox Code Playgroud)

......所有的换行都会丢失.

根据WordPress codex,sanitize_text_field()函数正在删除换行符.那么如何在不丢失换行符的情况下清理用户输入的文本呢?

php wordpress textarea line-breaks sanitize

16
推荐指数
2
解决办法
9521
查看次数

使用用户插入的变量清理exec命令的最佳方法

我正在为我们公司使用的一个可怕的软件编写一个Web界面.该软件没有真正的用户界面,需要我们为我们的客户提供putty访问我们的系统甚至提取数据.我的Web界面必须运行一个exec();函数,它必须传递用户输入的一些变量.

$command = "report-call '$type' '$study' '$server' '$tag' '$specopt1' '$specopt2' '$specopt3' '$specopt4'";
$last_line = exec($command, $output, $returnvalue); 
Run Code Online (Sandbox Code Playgroud)

现在我假设我可能只是从$command变量中删除任何分号并且是安全的,但我不确定,这就是为什么我在下个月上线之前在这里提出这个问题.

什么是最好的消毒方法$command?我确实需要在变量中使用一些特殊的字符 [ ] < > ! # $.

php exec sanitize

15
推荐指数
1
解决办法
7262
查看次数

使用Wordpress,有人可以告诉我消毒输入的最佳方法吗?

我正在使用Wordpress作为CMS开发应用程序.

我有一个包含大量输入字段的表单,需要在存储到数据库之前进行清理.
我想防止SQL注入,注入javascript和PHP代码以及其他有害代码.

目前我正在使用自己的方法来清理数据,但我觉得使用WP使用的功能可能会更好.

我已经看过Wordpress 中的数据验证,但我不确定我应该使用多少这些函数,以及按什么顺序.任何人都可以告诉WP功能最好用吗?

目前我通过执行以下操作"清理"我的输入:

  1. 因为带有重音符号的字符(é,ô,æ,ø,å)以有趣的方式存储在数据库中(即使我的表设置为ENGINE=InnoDB,DEFAULT CHARSET=utf8COLLATE=utf8_danish_ci),我现在正在使用htmlentities转换可以具有重音的输入字段().

  2. 在创建SQL字符串以输入数据时,我使用mysql_real_escape_string().

我不认为这足以阻止攻击.因此,非常感谢建议改进.

php wordpress sanitize

14
推荐指数
1
解决办法
4827
查看次数

Ruby on Rails:.html_safe和sanitize()之间的区别

我的视图中有两段代码:

<%= sanitize('<h3>winter</h3>') %>

<%= '<h3>winter</h3>'.html_safe %>
Run Code Online (Sandbox Code Playgroud)

它们似乎都导致在提供的字符串中编码html标签.它们之间有什么区别,我应该何时使用?

sanitize html-safe ruby-on-rails-4 difference

14
推荐指数
1
解决办法
7271
查看次数