草庐IT

ARP欺骗与中间人攻击

全部标签

ruby-on-rails - 如何在中间件中设置一个可在我的所有应用程序中访问的变量?

我正在使用RubyonRails3,我正在尝试使用中间件来设置一个变量@variable_name,以便稍后在Controller中访问。比如我的中间件是classAuthdefinitialize(app)@app=appenddefcall(env)@account||=Account.find(1)@app.call(env)endend上面的代码正确设置了@account变量,但在我的应用程序中(在Controller、模型、View等中)不可用。那么,我怎样才能做到这一点?我看到了thisanswer这是一种做我需要的方法,但我希望@account变量“可直接访问”。也就是说

ruby-on-rails - 从 Rack 中间件更改 Rails 参数哈希

我正在尝试从自定义Rack中间件对象向Rails参数散列添加一个值。我目前的做法是使用classPortalResolverdefinitialize(app)@app=appenddefcall(env)beginurl="#{env['rack.url_scheme']}://#{env['HTTP_HOST']}"request=Rack::Request.new(env)portal_id=DomainService.domain(url)#DomainServiceisreturningtheexpectedvaluerequest.params['portal_id']=p

ruby - 如何使用( ruby ) Rack 中间件组件设置 cookie?

我正在为需要有条件地设置cookie的Rails应用编写Rack中间件组件。我目前正在尝试设置cookie。通过谷歌搜索,这似乎应该可行:classRackAppdefinitialize(app)@app=appenddefcall(env)@status,@headers,@response=@app.call(env)@response.set_cookie("foo",{:value=>"bar",:path=>"/",:expires=>Time.now+24*60*60})[@status,@headers,@response]endend它不会给出错误,但也不会设置coo

ruby - 支持 HTTPS 的中间人 (MITM) 代理

这个问题在这里已经有了答案:HowtocreateManintheMiddleinstrumentation(3个答案)关闭8年前。我们现在似乎有点在兜圈子。我们正在寻找简单的轻量级代理,最好是基于ruby​​的代理,使我们能够执行以下操作。代理浏览器和网络应用之间的HTTPS请求。例如Gmail拦截并修改请求/响应-中间人修改动态生成SSL证书(或者可能是我们预先配置的)以在代理和浏览器之间使用使用Ruby,我们试验了em-proxy和Goliath但我认为这些不太合适。如有任何建议,我们将不胜感激。最好的问候,卡尔斯基。

ruby-on-rails - 如何使用 Ruby 删除文本文件中间的数据行

我知道如何写入文件和从文件读取,但除了将整个文件读入内存、操作它和重写整个文件之外,我不知道如何修改文件。对于大文件,这不是很有效率。我真的不知道附加和写入之间的区别。例如如果我有一个文件包含:Person1,will,23Person2,Richard,32Person3,Mike,44我怎样才能删除包含Person2的行? 最佳答案 您可以通过多种方式删除一行:模拟删除。也就是说,只需用空格覆盖行的内容。稍后,当您读取和处理该文件时,忽略这些空行即可。优点:这既简单又快速。缺点:它不是真正的数据删除(文件不会缩小),您需要在读取

ruby-on-rails - 如何在 Rack 中间件中使用 cookie?

我正在使用RubyonRails3,我想在Rack中间件中使用cookies.signed方法。我需要它,因为我想直接在中间件中对用户进行身份验证,而不是在application_controller.rb文件中使用before_filter。例如,如果我以这种方式在Controller中使用该方法:cookies.signed[:user_id']我明白了----1#Thisistheidofthecurrentsignedinuser-a64ee3asdtjhcc7b35fcb280956be00ba27f94d48dfe4291c06db7d57577d5893#Thisisth

ruby-on-rails - 如何在引擎中使用来自引擎的中间件

由于不同的gem在我的系统中如何交互,我有一个引擎安装到Rails应用程序上。我最近开始研究一个提供一些中间件功能的新gem。有点像这样:BaseApp\Engine\NewMiddlewareEngine#BaseApp/Gemfilegem'Engine'#Engine/Gemfilegem'NewMiddlewareEngine'#rakemiddlewareoutput:user@laptop[BaseApp]$bundleexecrakemiddlewareuseRack::SendfileuseActionDispatch::StaticuseRack::Lockuse#u

ruby - 如何使用 slim 的模板语言在段落中间放置超链接?

你如何在slim中写下以下内容?模板语言?JointheGooglegroupandletusknowwhatyouthink,orwhatotherfeaturesyou’dliketosee.我尝试了以下方法:p'Jointheahref=""GoogleGroup'andletusknowwhatyouthink,orwhatotherfeaturesyou’dliketosee但这行不通,因为“Group”和“and”这两个词之间没有空格。 最佳答案 显然你可以在引号后添加额外的空格:p'Jointheahref=""Goo

ruby - 获取中间人布局文件中页面的当前路径

是否可以在中间人文件中检索页面的当前路径?例如,如果我有一个布局文件layout.erb,其中包含如下内容:和一个测试文件index.html:Testing然后当Middleman呈现页面时,我会得到如下内容:/index.htmlTesting 最佳答案 中间人还提供了current_page变量。current_page.path是该资源的源路径(相对于源目录,没有模板扩展名),current_page.url是没有目录索引的路径(所以foo/index.html变成了foo)。#->index.html#->/来自Middl

ruby - 我如何只对某些路径使用 Rack 中间件?

我想让MyMiddleware在我的Rack应用程序中运行,但仅限于某些路径。我希望使用Rack::Builder或至少使用Rack::URLMap,但我不太清楚如何使用。这是我认为行得通的方法,但行不通:#inmyrackupfileorRailsenvironment.rb:map'/foo'douseMyMiddleware,{:some=>'options'}end或者,更好的是,使用正则表达式:map/^foo/douseMyMiddleware,{:some=>'options'}end但是map似乎最后需要一个应用程序;它不会仅仅将控制权交还给它的parent。(实际错误