Я делаю 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 дней, и только что заставил себя задать вопрос.
Спасибо 🙂
РЕДАКТИРОВАТЬ:
Оказывается, что весь Same Origin Policy
блокирует мой запрос
Так есть ли вообще обойти Same Origin Policy
?
Задача ещё не решена.
Других решений пока нет …