README.md
Frameguard
<em>Looking for a changelog?</em>
The X-Frame-Options
HTTP header restricts who can put your site in a frame which can help mitigate things like clickjacking attacks. It has three modes: DENY
, SAMEORIGIN
, and ALLOW-FROM
. If your app does not need to be framed (and most don't) you can use the default DENY
. If your site can be in frames from the same origin, you can set it to SAMEORIGIN
. If you want to allow it from a specific URL, you can allow that with ALLOW-FROM
and a URL.
Usage:
var frameguard = require('frameguard')
// Don't allow me to be in ANY frames:
app.use(frameguard({ action: 'deny' }))
// Only let me be framed by people of the same origin:
app.use(frameguard({ action: 'sameorigin' }))
app.use(frameguard()) // defaults to sameorigin
// Allow from a specific host:
app.use(frameguard({
action: 'allow-from',
domain: 'http://example.com'
}))
This has pretty good (but not 100%) browser support: IE8+, Opera 10.50+, Safari 4+, Chrome 4.1+, and Firefox 3.6.9+. The ALLOW-FROM
header option is not supported in most browsers. Those browsers will ignore the entire header, and the frame <em>will</em> be displayed.