首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以编程方式确定网页是否具有不安全元素?

问如何以编程方式确定网页是否具有不安全元素?
EN

Stack Overflow用户
提问于 2012-07-06 15:48:39
回答 2查看 296关注 0票数 2

我正在使用watir-webdriver进行测试自动化,并且需要一种方法来确定我的测试页面是否触发了浏览器中的不安全内容警告,或者它是否正在以http而不是https加载任何资源。

有没有办法在webdriver中做到这一点?或者我还可以用别的工具来做这件事?

例如,,如果您转到https://github.com并查看网络流量,您将看到一堆通过https加载的.js文件和图像。我需要一个脚本,它可以确定是否使用http而不是https加载了这些资源。当这种情况发生在安全站点上时,主要的浏览器会有某种警告,但它们并不总是创建弹出窗口。

​

​

EN

回答 2

Stack Overflow用户

发布于 2012-07-07 20:25:37

我认为您最好的选择是捕获由pcap (红宝石,教程)的webdriver发送的请求。您的代码应该如下所示:

代码语言:javascript
复制
require 'pcaplet'

# start capturing packets
httpdump = Pcaplet.new('-s 1500')

#
# do web requests here
#

insecure_reqs = []
httpdump.add_filter(
  # you could also filter by just tcp and then check pkt.dst_port in the loop
  Pcap::Filter.new('tcp and dst port 80', httpdump.capture)
)

httpdump.each_packet do |pkt|
  insecure_reqs << pkt.dst.to_s
end

(免责声明:这是未经测试和拼凑在一起的红宝石-pcap的示例。)

缺点是,在运行测试时,您需要确保机器上没有其他任何东西发出请求,因此在孤立的服务器或VM中运行这个选项是一个很好的选择。

票数 0
EN

Stack Overflow用户

发布于 2012-11-21 19:18:11

我一直在为99%的案例开发工作。您可以使用PhantomJS并在Ruby代码中使用回溯执行它,或者使用这块宝石捕获输出,然后过滤它。他们甚至有一个名为netlog.js的示例,它可以开箱即用。

输出是HAR,或HTTP存档,这是您在屏幕抓取中所看到的,但这已经被美化了。

它不能工作的1%的时间是如果一个Flash文件调用一个元素,即http。我在广告里见过这个。如果你没有Flash广告在你的网站上,这不应该是一个问题。我的做了,现在我正在做那1%的工作;)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11365540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档