gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 16:55:25 25 4
gpt4 key购买 nike

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

有没有办法在 watir-webdriver 中做到这一点?或者我可以使用其他工具来执行此操作吗?

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

enter image description here

最佳答案

我认为最好的办法是使用 pcap(ruby-pcaptutorial)捕获 watir-webdriver 发送的请求。您的代码将是这样的:

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

(免责声明:这是未经测试的,是从 ruby​​-pcap 的 example 拼凑而成的。)

缺点是您需要确保在测试运行时机器上没有其他任何东西发出请求,因此在隔离的服务器或 VM 中运行它是一个不错的选择。

关于ruby - 如何以编程方式确定网页是否具有不安全元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11365540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com