Security News
Cloudflare Adds Security.txt Setup Wizard
Cloudflare has launched a setup wizard allowing users to easily create and manage a security.txt file for vulnerability disclosure on their websites.
check-pages
Advanced tools
Checks various aspects of a web page for correctness.
npm install check-pages --save-dev
If you're using Grunt, the grunt-check-pages
package wraps this functionality in a Grunt task.
If you're using Gulp or another framework, the example below shows how to integrate check-pages
into your workflow.
An important aspect of creating a web site is validating the structure, content, and configuration of the site's pages. The checkPages
task provides an easy way to integrate this testing into your workflow.
By providing a list of pages to scan, the task can:
To use check-pages
with Gulp, create a task and invoke checkPages
, passing the task's callback function.
The following example includes all supported options:
var gulp = require("gulp");
var checkPages = require("check-pages");
gulp.task("checkDev", [ "start-development-server" ], function(callback) {
var options = {
pageUrls: [
'http://localhost:8080/',
'http://localhost:8080/blog',
'http://localhost:8080/about.html'
],
checkLinks: true,
onlySameDomain: true,
queryHashes: true,
noRedirects: true,
noLocalLinks: true,
noEmptyFragments: true,
linksToIgnore: [
'http://localhost:8080/broken.html'
],
checkXhtml: true,
checkCaching: true,
checkCompression: true,
maxResponseTime: 200,
userAgent: 'custom-user-agent/1.2.3',
summary: true
};
checkPages(console, options, callback);
});
gulp.task("checkProd", function(callback) {
var options = {
pageUrls: [
'http://example.com/',
'http://example.com/blog',
'http://example.com/about.html'
],
checkLinks: true,
maxResponseTime: 500
};
checkPages(console, options, callback);
});
/**
* Checks various aspects of a web page for correctness.
*
* @param {object} host Specifies the environment.
* @param {object} options Configures the task.
* @param {function} done Callback function.
* @returns {void}
*/
module.exports = function(host, options, done) { ... }
Type: Object
Required
Specifies the task environment.
For convenience, console
can be passed directly (as in the example above).
Type: Function
(parameters: String
)
Required
Function used to log informational messages.
Type: Function
(parameters: String
)
Required
Function used to log error messages.
Type: Object
Required
Specifies the task configuration.
Type: Array
of String
Default value: undefined
Required
pageUrls
specifies a list of URLs for web pages the task will check. The list can be empty, but must be present.
URLs can point to local or remote content via the http
, https
, and file
protocols. http
and https
URLs must be absolute; file
URLs can be relative. Some features (for example, HTTP header checks) are not available with the file
protocol.
Type: Boolean
Default value: false
Enabling checkLinks
causes each link in a page to be checked for validity (i.e., an HTTP HEAD or GET request returns success).
For efficiency, a HEAD
request is made first and a successful result validates the link. Because some web servers misbehave, a failed HEAD
request is followed by a GET
request to definitively validate the link.
The following element/attribute pairs are used to identify links:
a
/href
area
/href
audio
/src
embed
/src
iframe
/src
img
/src
input
/src
link
/href
object
/data
script
/src
source
/src
track
/src
video
/src
Type: Boolean
Default value: false
Used by: checkLinks
Set this option to true
to block the checking of links on different domains than the referring page.
This can be useful during development when external sites aren't changing and don't need to be checked.
Type: Boolean
Default value: false
Used by: checkLinks
Set this option to true
to verify links with file hashes in the query string point to content that hashes to the expected value.
Query hashes can be used to invalidate cached responses when leveraging browser caching via long cache lifetimes.
Supported hash functions are:
Type: Boolean
Default value: false
Used by: checkLinks
Set this option to true
to fail the task if any HTTP redirects are encountered.
This can be useful to ensure outgoing links are to the content's canonical location.
Type: Boolean
Default value: false
Used by: checkLinks
Set this option to true
to fail the task if any links to localhost
are encountered.
This is useful to detect temporary links that may work during development but would fail when deployed.
The list of host names recognized as localhost
are:
127.0.0.0/8
address block)Type: Boolean
Default value: false
Used by: checkLinks
Set this option to true
to fail the task if any links contain an empty fragment identifier (hash) such as <a href="#">
.
This is useful to identify placeholder links that haven't been updated.
Type: Array
of String
Default value: undefined
Used by: checkLinks
linksToIgnore
specifies a list of URLs that should be ignored by the link checker.
This is useful for links that are not accessible during development or known to be unreliable.
Type: Boolean
Default value: false
Enabling checkXhtml
attempts to parse each URL's content as XHTML and fails if there are any structural errors.
This can be useful to ensure a page's structure is well-formed and unambiguous for browsers.
Type: Boolean
Default value: false
Enabling checkCaching
verifies the HTTP Cache-Control
and ETag
response headers are present and valid.
This is useful to ensure a page makes use of browser caching for better performance.
Type: Boolean
Default value: false
Enabling checkCompression
verifies the HTTP Content-Encoding
response header is present and valid.
This is useful to ensure a page makes use of compression for better performance.
Type: Number
Default value: undefined
maxResponseTime
specifies the maximum amount of time (in milliseconds) a page request can take to finish downloading.
Requests that take more time will trigger a failure (but are still checked for other issues).
Type: String
Default value: check-pages/x.y.z
userAgent
specifies the value of the HTTP User-Agent
header sent with all page/link requests.
This is useful for pages that alter their behavior based on the user agent. Setting the value null
omits the User-Agent
header entirely.
Type: Boolean
Default value: false
Enabling the summary
option logs a summary of each issue found after all checks have completed.
This makes it easy to pick out failures when running tests against many pages.
grunt-check-pages
for use with Gulp.noEmptyFragments
option, update dependencies.FAQs
Checks various aspects of a web page for correctness.
The npm package check-pages receives a total of 150 weekly downloads. As such, check-pages popularity was classified as not popular.
We found that check-pages demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Cloudflare has launched a setup wizard allowing users to easily create and manage a security.txt file for vulnerability disclosure on their websites.
Security News
The Socket Research team breaks down a malicious npm package targeting the legitimate DOMPurify library. It uses obfuscated code to hide that it is exfiltrating browser and crypto wallet data.
Security News
ENISA’s 2024 report highlights the EU’s top cybersecurity threats, including rising DDoS attacks, ransomware, supply chain vulnerabilities, and weaponized AI.