Я создаю 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);
}
?>
и переходя по URL: 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 дня пытаюсь это исправить и только что заставил себя задать вопрос.
Спасибо:)
EDIT:
Оказывается, что весь Same Origin Policy
блокирует мой запрос.
Так есть ли вообще обойти Same Origin Policy
?