spatie/mixed-content-scanner-cli

用于扫描网站混合内容的工具

1.4.0 2022-09-07 08:41 UTC

This package is auto-updated.

Last update: 2024-09-07 12:56:12 UTC


README

Latest Version on Packagist Quality Score Total Downloads

此仓库包含一个名为 mixed-content-scanner 的工具,可以帮助您找到网站上的混合内容。以下是使用方法

mixed-content-scanner scan https://spatie.be

当然,我们公司的网站没有发现混合内容。

spatie

以下是一个包含一些混合内容的本地测试服务器的示例

mixed

支持我们

我们投入了大量资源创建最佳类别的开源软件包。您可以通过购买我们的付费产品之一来支持我们。

我们非常感谢您从家乡寄给我们明信片,说明您正在使用我们哪个软件包。您可以在我们的联系页面上找到我们的地址。我们将所有收到的明信片发布在我们的虚拟明信片墙上

安装

您可以通过 composer 安装此软件包

composer global require spatie/mixed-content-scanner-cli

工作原理

当扫描一个网站时,工具会爬取每一页。在检索到的所有 HTML 中,会检查以下元素和属性

  • audio: src
  • embed: src
  • form: action
  • link: href
  • iframe: src
  • img: src, srcset
  • object: data
  • param: value
  • script: src
  • source: src, srcset
  • video: src

如果这些属性中的任何一个以 http:// 开头,则该元素将被视为混合内容。

工具不会扫描链接的 .css.js 文件。内联 <script><style> 不会被考虑。

用法

您可以使用 scan 命令后跟 URL 来扫描一个网站

mixed-content-scanner scan https://example.com

选项

SSL 验证

在实际上线之前,您可能想检查您的网站是否有混合内容。在那个阶段,您的网站可能还没有安装 SSL 证书,这是很常见的。这就是为什么默认情况下,该工具不会验证 SSL 证书。

如果您想启用 SSL 验证,请使用 verify-ssl 选项

mixed-content-scanner scan https://self-signed.badssl.com/ --verify-ssl

以下示例将导致无响应的 URL,因为主机没有有效的 SSL 证书

过滤和忽略 URL

您可以通过传递正则表达式到 filterignore 选项来过滤将要爬取的 URL。

在这个例子中,我们只会爬取以 /en 开头的页面。

mixed-content-scanner scan https://spatie.be --filter="^\/en"

您可以使用多个过滤器

mixed-content-scanner scan https://spatie.be --filter="^\/en" --filter="^\/nl"

您还可以忽略某些 URL。在这里,我们将忽略包含单词 opensource 的所有 URL。

mixed-content-scanner scan https://spatie.be --ignore="opensource"

当然,您也可以结合使用过滤器和忽略规则

mixed-content-scanner scan https://spatie.be --filter="^\/en" --ignore="opensource"

忽略机器人

默认情况下,爬虫会尊重机器人数据。但您可以使用 --ignore-robots 选项来忽略它们。

mixed-content-scanner scan https://example.com --ignore-robots

自定义用户代理

默认情况下,爬虫使用底层的 guzzle 客户端作为用户代理。您可以使用 --user-agent 选项来覆盖此值。

mixed-content-scanner scan https://example.com --user-agent='MyCustomCrawler'

变更日志

请参阅变更日志获取最近更改的更多信息。

测试

composer test

贡献

请参阅贡献指南以获取详细信息。

安全性

如果您发现有关安全的错误,请发送邮件至security@spatie.be,而不是使用问题跟踪器。

明信片软件

您可以使用此包,但如果它进入您的生产环境,我们非常希望您从您的家乡给我们寄一张明信片,说明您正在使用我们的哪个包。

我们的地址是:Spatie,Kruikstraat 22,2018 安特卫普,比利时。

我们将所有收到的明信片发布在我们的公司网站上

鸣谢

扫描器灵感来源于mixed-content-scan,作者Bram Van Damme。其README和代码的部分内容被使用。

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。