我已经知道XSS是如何工作的,但是找出所有注入恶意输入的方法并不是一种选择.
我在那里看到了几个库,但是大多数都是非常不完整,无效或GPL许可(你们什么时候才能知道GPL不好分享小库!使用MIT)
我的记录器需要一个唯一的请求ID,因此我可以跟踪日志文件中的每个请求.
到目前为止我得到了这个
REQUEST_ID = Digest::MD5.hexdigest(Time.now.to_f.to_s + $PID.to_s)
Run Code Online (Sandbox Code Playgroud)
问题是我不知道在哪里放这个.我尝试将它放在我的自定义记录器文件中,在课外.但它必须被缓存或其他东西,因为我总是得到相同的哈希.
有任何想法吗?
注意.我正在使用Rails 3和Passenger独立版
更新:
Rails 3.2:uuid标签不起作用.看看日志格式有多糟糕:
[0909413851b79676cb06e0842d21c466] [127.0.0.1]
Started HEAD "/" for 127.0.0.1 at Tue Feb 21 14:08:25 -0300 2012
[0909413851b79676cb06e0842d21c466] [127.0.0.1] Processing by PagesController#home as HTML
[0909413851b79676cb06e0842d21c466] [127.0.0.1] bla
[0909413851b79676cb06e0842d21c466] [127.0.0.1] Rendered pages/home.html.erb within layouts/application (2.0ms)
Run Code Online (Sandbox Code Playgroud)
在生产中,这将是一个烂摊子.请注意第一行之后的换行符?现在想象一下在每秒处理许多请求的服务器中日志的样子.将请求与URI关联起来很困难
Firebug正在抛出这些错误:
$(document).on不是函数| bootstrap.js(第786行):
$(document).on('keyup.dismiss.modal', function ( e ) {
Run Code Online (Sandbox Code Playgroud)
$("body").on不是函数| bootstrap.js(第139行):
$('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
Run Code Online (Sandbox Code Playgroud)
然后插件不起作用.
有想法该怎么解决这个吗?
我当然是在bootstrap之前加载jquery,所以我不知道是什么问题.Jquery工作正常.
我该如何撤消bundle package?
我删除了所有内容,vendor/cache但在运行时重新安装bundle install.
在尝试"使用Google登录"后,我在日志中看到此错误:
Processing by Users::OmniauthCallbacksController#failure as HTML
Run Code Online (Sandbox Code Playgroud)
我可以通过URL(在日志中)看到谷歌发送的所有数据,包括用户电子邮件和姓名.那怎么可能出错?我的回调甚至没有被执行.我只能被重定向到我网站的sign_in页面.
而且我很确定一切都配置正确,因为这在几周前工作正常.我认为我没有改变任何东西.Facebook登录仍然正常.
有关如何调试此故障的任何想法?除了那些充满参数和值的长URL之外,日志中没有其他内容.只有INFO消息.上面发布的是唯一一个关于失败的人.
UPDATE
我向控制器添加了"故障"方法
def failure
render :text => params.inspect
end
Run Code Online (Sandbox Code Playgroud)
哪个停止了重定向,并打印出来:
{}
Run Code Online (Sandbox Code Playgroud)
网址是这样的:
/users/auth/google/callback?_method=post&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=id_res&openid.op_endpoint=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fud&openid.response_nonce=2012-04-16T12%3A25%3A49Z_v1fNngSQJaHBQ&openid.return_to=http%3A%2F%2Fdev.myapp.me%3A3000%2Fusers%2Fauth%2Fgoogle%2Fcallback%3F_method%3Dpost&openid.assoc_handle=AMlYA9Urw_lYamPphTSdQ9a6DU0Ez0y5RaDDM78qPL7Xgm77nMpJiB85&openid.signed=op_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle%2Cns.ext1%2Cext1.mode%2Cext1.type.ext5%2Cext1.value.ext5%2Cext1.type.ext8%2Cext1.value.ext8%2Cext1.type.ext2%2Cext1.value.ext2&openid.sig=2FPjo7U1e%2Fde248XpUgjQLduNAM%3D&openid.identity=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid%3Fid%3DAItOawk1F5U6x_-kJnydjoww5haU41tquh1Zl2c&openid.claimed_id=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid%3Fid%3DAItOawk1F5U6x_-kJnydjoww5haU41tquh1Zl2c&openid.ns.ext1=http%3A%2F%2Fopenid.net%2Fsrv%2Fax%2F1.0&openid.ext1.mode=fetch_response&openid.ext1.type.ext5=http%3A%2F%2Faxschema.org%2FnamePerson%2Ffirst&openid.ext1.value.ext5=Some_User&openid.ext1.type.ext8=http%3A%2F%2Faxschema.org%2Fcontact%2Femail&openid.ext1.value.ext8=some_email%40gmail.com&openid.ext1.type.ext2=http%3A%2F%2Faxschema.org%2FnamePerson%2Flast&openid.ext1.value.ext2=Some_User
Run Code Online (Sandbox Code Playgroud)
所以我需要的所有数据都在URL中,但是设计/ omniauth没有抓住它(显然这就是为什么它调用'failure'方法而不是我的回调).我不知道它是否可以通过'params'数组访问,或者是什么.
我对这个?_method=post部分也很感兴趣,因为对我网站的所有请求都是GET请求.也许这只是意味着omniauth对谷歌的请求是POST.
有什么想法吗?
我是迁移的新手,我正在努力坚持自动生成的迁移:
$ php app/console doctrine:migrations:diff
$ php app/console doctrine:migrations:migrate
Run Code Online (Sandbox Code Playgroud)
问题是这会丢弃我的会话表.我该怎么做才能避免这种情况?
我知道Twig有一个{%spaceless%}过滤器,但它只删除了html标签之间的空格.
我需要为网站中的每个页面返回一行html.我有一个可以处理的正则表达式,但我不知道在sf2中哪里使用它,因为一切都是自动发生的.
我想我必须注册一个新的模板引擎,或添加一个枝条扩展,但我找不到关于这个主题的足够文档,所以我卡住了
有任何想法吗?
我已经在命令行(在Windows上)测试了YUI压缩器,它似乎工作得很好.
但是由assetic创建的.css没有被压缩,并且在顶部附带此消息(在.css内部!):
/*
[exception] 500 | Internal Server Error | RuntimeException
[message]
[1] RuntimeException:
at n/a
in E:\websites\symfony2\public_html\Symfony\vendor\assetic\src\Assetic\Filter\Yui\BaseCompressorFilter.php line 81
at Assetic\Filter\Yui\BaseCompressorFilter->compress('
Run Code Online (Sandbox Code Playgroud)
这是配置问题吗?或者资产中的错误?
这是我在twig模板中使用的代码:
{% stylesheets '@CompanyBundlenameBundle/Resources/public/css/style.css' filter='yui_css' %}
<link rel="stylesheet" type="text/css" media="screen" href="{{ asset_url }}" />
{% endstylesheets %}
Run Code Online (Sandbox Code Playgroud) 我已尝试过各种配置,但仍然无法通过rails在我的开发环境中发送电子邮件.
我安装mailutils从命令行尝试这个,它工作,我收到了电子邮件(当然是垃圾邮件):echo test | mail -s主题user@example.com
这是我的配置:
# Don't care if the mailer can't send
config.action_mailer.raise_delivery_errors = true # still no logs about emails
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true # I can't believe I have to add this option. Does it even exist? I found it on google.
config.action_mailer.smtp_settings = {
:enable_starttls_auto => true,
:address => "smtp.gmail.com",
:port => 587,
:domain => "gmail.com",
:authentication => :login,
:user_name => "some_user@gmail.com",
:password => "abc123",
}
Run Code Online (Sandbox Code Playgroud)
这是邮件中的代码:
class UserMailer < ActionMailer::Base
default …Run Code Online (Sandbox Code Playgroud)