spatie / mixed-content-scanner-cli
用于扫描网站混合内容的工具
Requires
- php: ^8.0
- nunomaduro/larastan: ^2.2
- orchestra/testbench: ^7.7
- pestphp/pest: ^1.22
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.1
- spatie/crawler: ^7.0
- spatie/mixed-content-scanner: ^4.0
- symfony/console: ^6.0
- symfony/var-dumper: ^6.0
Requires (Dev)
README
此仓库包含一个名为 mixed-content-scanner
的工具,可以帮助您找到网站上的混合内容。以下是使用方法
mixed-content-scanner scan https://spatie.be
当然,我们公司的网站没有发现混合内容。
以下是一个包含一些混合内容的本地测试服务器的示例
支持我们
我们投入了大量资源创建最佳类别的开源软件包。您可以通过购买我们的付费产品之一来支持我们。
我们非常感谢您从家乡寄给我们明信片,说明您正在使用我们哪个软件包。您可以在我们的联系页面上找到我们的地址。我们将所有收到的明信片发布在我们的虚拟明信片墙上。
安装
您可以通过 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
您可以通过传递正则表达式到 filter
和 ignore
选项来过滤将要爬取的 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)。请参阅许可证文件以获取更多信息。