Download the PHP package spatie/mixed-content-scanner without Composer
On this page you can find all versions of the php package spatie/mixed-content-scanner. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download spatie/mixed-content-scanner
More information about spatie/mixed-content-scanner
Files in spatie/mixed-content-scanner
Package mixed-content-scanner
Short Description Scan your site for mixed content
License MIT
Homepage https://github.com/spatie/mixed-content-scanner
Informations about the package mixed-content-scanner
Scan your site for mixed content
This package contains a class that can scan your site for mixed content.
Here's an example of how you can use it:
MixedContentLogger
is a class containing methods that get called when mixed content is (not) found.
If you don't need a custom implementation but simply want to look for mixed content using a command line tool, take a look at our mixed-content-scanner-cli package.
Support us
Learn how to create a package like this one, by watching our premium video course:
We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.
We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.
Installation
You can install the package via composer:
How it works under the hood
When scanning a site, the scanner will crawl everypage. On the retrieve html, these elements and attributes will be checked:
audio
:src
embed
:src
form
:action
link
:href
iframe
:src
img
:src
,srcset
object
:data
param
:value
script
:src
source
:src
,srcset
video
:src
If any of those attributes start with http://
the element will be regarded as mixed content.
The package does not scan linked .css
or .js
files, nor does it take inline <script>
or <style>
and shortlinks into consideration.
Usage
That MixedContentScanner
accepts an instance of a class that extends \Spatie\MixedContentScannerMixedContentObserver
. You should create such a class yourself. Let's take a look at an example implementation.
Of course, you should supply a function body to these methods yourself. If you don't need a function just leave it off.
The $mixedContent
variable the mixedContentFound
class accept is an instance of \Spatie\MixedContentScanner\MixedContent
which has these three properties:
$elementName
: the name of the element that is regarded as mixed content$mixedContentUrl
: the url of the element that is regarded as mixed content. For an image this can be the value ofsrc
orsrcset
for aform
this can be the value ofaction
, ...$foundOnUrl
: the url where the mixed content was found
Customizing the requests
The scanner is powered by our homegrown Crawler which on it's turn leverages Guzzle to perform webrequests.
You can pass an array of options to the second argument of MixedContentScanner
. These options will be passed to the Guzzle Client.
Here's an example where ssl verification is being turned off.
Filtering the crawled urls
By default, the mixed content scanner will crawl all urls of the hostname given. If you want to filter the urls to be crawled, you can pass the scanner a class that extends Spatie\Crawler\CrawlProfile
.
Here's the content of that class:
And here's how you can let the scanner use your profile:
Customizing the crawler
The scanner is powered by our homegrown Crawler. You can call any methods on the crawler before the crawling process starts by calling configureCrawler
on a MixedContentScanner
.
Changelog
Please see CHANGELOG for more information what has changed recently.
Testing
Contributing
Please see CONTRIBUTING for details.
Security
If you've found a bug regarding security please mail [email protected] instead of using the issue tracker.
Postcardware
You're free to use this package, but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using.
Our address is: Spatie, Kruikstraat 22, 2018 Antwerp, Belgium.
We publish all received postcards on our company website.
Credits
- Freek Van der Herten
- All Contributors
The scanner is inspired by mixed-content-scan by Bram Van Damme. Parts of his readme and code were used.
License
The MIT License (MIT). Please see License File for more information.