$ .getJSON в FireFox WebExtension - PullRequest
       6

$ .getJSON в FireFox WebExtension

0 голосов
/ 30 апреля 2018

Я создаю 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?

...