我正在制作WebExtension
,将我的密码从我的网络服务器输入到网页上的input[type='password']
字段。
以下是代码:
function getPW() {
$.getJSON("http://mywebserver.org/p/?p=" + window.location.hostname, function(result){
$.each(result, function(i, field){
console.log("Field: " + field);
});
});
}
getPW();
现在只执行console.log()
。
但是,当我加载并打开Developer Tools
时,Console
标签上的唯一输出是:
Password fields present on an insecure (http://) page. This is a security risk that allows user login credentials to be stolen.[Learn More]
这是我的网络服务器上的PHP代码:
<?php
if(isset($_GET['p']) && $_GET['p'] != null) {
$aaJSONData = ["Password" => "mySuperSecretPassword!")];
header("Content-type: application/json");
echo json_encode($aaJSONData);
}
?>
并转到我的浏览器中的网址:http://mywebserver.org/p/?p=stackoverflow.com
显示:
{"Password":"mySuperSecretPassword!"}
这是我的manifest.json
:
{
"manifest_version": 2,
"name": "PWGen",
"version": "1.0",
"description": "Automatically fills out the <input type=\"password\"... /> part of the form",
"applications": {
"gecko": {
"id": "my@ID"
}
},
"content_scripts": [
{
"matches": ["*://*/*"],
"js": ["jquery.js", "pwgen.js"]
}
]
}
我在文件夹中有最新的JQuery.js
。
所以我猜测它与我的getPW()
功能有关。
我已经考虑过将这个问题解决了3天,并且只是让我自己提出问题。
谢谢:)
编辑:
事实证明整个Same Origin Policy
阻止了我的请求。
那么无论如何都要绕过Same Origin Policy
?