is-apple
v1.0.0
Published
Verify that a request is from Apple crawlers using DNS verification steps
Downloads
2
Maintainers
Readme
is-apple
Verify that a request is from Apple crawlers using Apple's DNS verification steps
You may wish to verify that a web crawler accessing your server is Applebot (or another Apple user-agent) and not spammers or other bots scraping your site while claiming to be Applebot. Since you cannot rely on the User-Agent
header which is easily spoofed, you need to use DNS look up to verify that the IP address belongs to Apple.
Install
npm install --save is-apple
Example
const isApple = require('is-apple')
let ip = '17.58.98.240'
isApple(ip).then((outcome) => {
if (outcome) {
// it's apple.
}
}).catch(console.error)
Example with express
app.enable('trust proxy')
app.use((req, res, next) => {
let ip = req.ip || req.connection.remoteAddress
isGoogle(ip).then(outcome => {
if (outcome) {
res.status(404).text('Nothing to scan') // block apple crawler
} else {
next() // it's a user
}
})
})
Tests
npm test
License
MIT
Author
Rocco Musolino @roccomuso