我正在尝试用 PHP 开发一个后端广告检查应用程序。我们有很多可以展示广告的地方,几乎所有的地方都有其独特的要求(它们在游戏中展示,这就是为什么每个人的尺寸、重量、格式等都不同)。由于这可能会导致针对不同游戏的广告系列出现很多困惑(代理机构向我们发送格式错误的广告),因此我们需要检查每个广告以确保其按预期运作。
如果我们的客户将广告文件发送给我们进行检查,则该应用程序可以正常工作。但大多数时候他们会发送 Adserver 标签,因此他们可以跟踪结果,而这些标签通常是 javascript 和 iframe 标签。
问题是如何在所有浏览器上安全地允许插入 javascript 和 iframe 代码,并将其呈现到回发页面上的页面(用于视觉检查),而不冒 XSS 问题的风险?
目前,由于采取了安全措施,我已经设法在所有浏览器(但 Chrome)上发布代码并打印到回发页面。但既然我无论如何都要解决这个问题,我怎样才能让它在所有浏览器上工作,同时仍然确保应用程序是安全的?
谢谢。 决定
最佳答案
如果你包含第 3 方 javascript 代码,你总是有 XSS 风险。假设您正在测试来自广告提供商的代码:
<script src="http://some3rdPartySite.com/script.js"></script>
如果您不信任您的广告 vendor ,我建议让他们选择图片 + 网址或 iframe 网址 + 维度。您也可以使用 Iframe 做“坏事”(例如 frame-busting,从而从您的客户页面重定向),但您仍然必须遵守跨域策略。如果让 javascript 代码被执行,情况就不是这样了。
您还可以为广告 vendor 提供自己的分析来满足他们的需求。
无论如何,为了测试 javascript 结果,您可以在任何浏览器上使用 Selenium 驱动程序:http://seleniumhq.org/ .它让您加载任何页面,执行 javascript 代码并获得结果。通过这种方式,您可以加载您的 javascript 代码、在 DOM 中搜索节点并检查它们的维度等。
此外,您可以查看 sahi:http://sahi.co.in/w/
关于php - 安全地发布并打印 JavaScript 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9911887/
我试图使用yard记录一些Ruby代码,尽管我所做的正是所描述的here或here#@param[Integer]thenumberoftrials(>=0)#@param[Float]successprobabilityineachtrialdefinitialize(n,p)#initialize...end虽然我仍然得到这个奇怪的错误@paramtaghasunknownparametername:the@paramtaghasunknownparametername:success然后生成的html看起来很奇怪。我称yard为:$yarddoc-mmarkdown我做错了什么?
我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A
我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R
在Ruby中是否有Gem或安全删除文件的方法?我想避免系统上可能不存在的外部程序。“安全删除”指的是覆盖文件内容。 最佳答案 如果您使用的是*nix,一个很好的方法是使用exec/open3/open4调用shred:`shred-fxuz#{filename}`http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html检查这个类似的帖子:Writingafileshredderinpythonorruby?
我有一个div,它根据表单是否正确提交而改变。我想知道是否可以检查类的特定元素?开始元素看起来像这样。如果输入不正确,添加错误类。 最佳答案 试试这个:browser.div(:id=>"myerrortest").class_name更多信息:http://watir.github.com/watir-webdriver/doc/Watir/HTMLElement.html#class_name-instance_method另一种选择是只查看具有您期望的类的div是否存在browser.div((:id=>"myerrortes
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
有人知道在发布新版本的Ruby和Rails时收到电子邮件的方法吗?他们有邮件列表,RubyonRails有一个推特,但我不想听到那些随之而来的喧嚣,我只想知道什么时候发布新版本,尤其是那些有安全修复的版本。 最佳答案 从therailsblog获取提要.http://weblog.rubyonrails.org/feed/atom.xml 关于ruby-on-rails-如何在发布新的Ruby或Rails版本时收到通知?,我们在StackOverflow上找到一个类似的问题:
我正在使用ruby2.1.0我有一个json文件。例如:test.json{"item":[{"apple":1},{"banana":2}]}用YAML.load加载这个文件安全吗?YAML.load(File.read('test.json'))我正在尝试加载一个json或yaml格式的文件。 最佳答案 YAML可以加载JSONYAML.load('{"something":"test","other":4}')=>{"something"=>"test","other"=>4}JSON将无法加载YAML。JSON.load("
我遇到了一个非常奇怪的问题,我很难解决。在我看来,我有一个与data-remote="true"和data-method="delete"的链接。当我单击该链接时,我可以看到对我的Rails服务器的DELETE请求。返回的JS代码会更改此链接的属性,其中包括href和data-method。再次单击此链接后,我的服务器收到了对新href的请求,但使用的是旧的data-method,即使我已将其从DELETE到POST(它仍然发送一个DELETE请求)。但是,如果我刷新页面,HTML与"new"HTML相同(随返回的JS发生变化),但它实际上发送了正确的请求类型。这就是这个问题令我困惑的
classPacketdefinitialize(name,age,number,array)@name=name@age=age@number=number@neighbors=arrayendendp1=Packet.new("n1",5,2,[1,2,3,4])putsp1.name我有上面的代码,但是每当我执行puts语句时,我都会收到nameisnotamethod的错误。我不知道任何其他方式来打印p1的名称。如何打印姓名? 最佳答案 这里的问题是,虽然您拥有实例变量,但您并未使它们可访问。attr_reader:vari