detectsniff example: Check if the web page sniffs the user agent.

http://code.google.com/p/phantomjs/issues/detail?id=263
1.4
Ariya Hidayat 2011-10-25 10:19:37 -05:00
parent f18fd5372f
commit 8ffd7a2403
2 changed files with 97 additions and 0 deletions

View File

@ -0,0 +1,40 @@
page = require('webpage').create()
page.onInitialized = ->
page.evaluate ->
userAgent = window.navigator.userAgent
platform = window.navigator.platform
window.navigator =
appCodeName: 'Mozilla'
appName: 'Netscape'
cookieEnabled: false
sniffed: false
window.navigator.__defineGetter__ 'userAgent', ->
window.navigator.sniffed = true
userAgent
window.navigator.__defineGetter__ 'platform', ->
window.navigator.sniffed = true
platform
if phantom.args.length is 0
console.log 'Usage: unsniff.js <some URL>'
phantom.exit()
else
address = phantom.args[0]
console.log 'Checking ' + address + '...'
page.open address, (status) ->
if status isnt 'success'
console.log 'FAIL to load the address'
else
window.setTimeout ->
sniffed = page.evaluate(->
navigator.sniffed
)
if sniffed
console.log 'The page tried to sniff the user agent.'
else
console.log 'The page did not try to sniff the user agent.'
phantom.exit()
, 1500

57
examples/detectsniff.js Normal file
View File

@ -0,0 +1,57 @@
// Detect if a web page sniffs the user agent or not.
var page = require('webpage').create(),
sniffed,
address;
page.onInitialized = function () {
page.evaluate(function () {
(function () {
var userAgent = window.navigator.userAgent,
platform = window.navigator.platform;
window.navigator = {
appCodeName: 'Mozilla',
appName: 'Netscape',
cookieEnabled: false,
sniffed: false
};
window.navigator.__defineGetter__('userAgent', function () {
window.navigator.sniffed = true;
return userAgent;
});
window.navigator.__defineGetter__('platform', function () {
window.navigator.sniffed = true;
return platform;
});
})();
});
};
if (phantom.args.length === 0) {
console.log('Usage: unsniff.js <some URL>');
phantom.exit();
} else {
address = phantom.args[0];
console.log('Checking ' + address + '...');
page.open(address, function (status) {
if (status !== 'success') {
console.log('FAIL to load the address');
} else {
window.setTimeout(function () {
sniffed = page.evaluate(function () {
return navigator.sniffed;
});
if (sniffed) {
console.log('The page tried to sniff the user agent.');
} else {
console.log('The page did not try to sniff the user agent.');
}
phantom.exit();
}, 1500);
}
});
}