在客户端调用PHP包装器

时间:2017-08-28 13:44:22

标签: javascript php html css cordova

我目前正在开展一个学校项目,我们正在使用Apache cordova(HTML,CSS和JS方面),目前我们学校有一个服务器,我们的.php文件所在的位置。

在我们的项目中,(其中一个HTML文件)我们使用API​​密钥和域名地址,我们希望摆脱源代码(因此其他学生无法看到它)。执行此操作最简单的方法是什么?

我们一直在想;

我们使用php文件作为包含以下代码的包装器;

IE。

<?php
function getJson($data){

    $decoded = json_decode($data);
    if (isset($decoded)){

        // Toteutusten haku
        $url = "URL THAT WE DONT WANT TO BE SEEN";
        $apiKey = "API KEY GOES HERE";

        // curl
        $ch = curl_init($url);
        // curl_exec returnsanswer (not boolean)
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        // Asets api key, ":"
        curl_setopt($ch, CURLOPT_USERPWD, $apiKey.":");

        // Setting message - JSON
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

        // Sets false if necessary
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

        // Sends request
        $responseJson = curl_exec($ch);
        return $responseJson;
        curl_close($ch); //close session
    **}
}
?>

在HTML文件中,我们的代码片段如下所示;

// B building rooms
            if (buildingcode.startsWith("B", 5)) {
                var requestB = new XMLHttpRequest();
                requestB.onreadystatechange = function () {
                    if (requestB.readyState === 4) {
                        if (requestB.status === 200) {
                            try {
                                var jsonB = JSON.parse(requestB.responseText);
                                for (var fb = 0; fb < jsonB.resources.length; fb++) {
                                    var resB = jsonB.resources[fb];

                                    if (resB.type === "room") {
                                        if (bTilat.indexOf("code")) {
                                            bTilat.push(resB.code + resB.name.slice(resB.name.indexOf(' ('), 50));
                                        }
                                    }
                                }
                            } catch (e) {
                                console.log(e.message);
                                return;
                            }
                        }
                    }
                    //console.log(bTilat);
                };
                requestB.open("GET", 'THIS PART HAS THE DOMAIN WE WANT TO HIDE', true, "THIS PART HAS THE API WE WANT TO HIDE", "");
                requestB.send(null);
            }

所以我的问题是:我想我们需要摆脱

requestB.open("GET", 'THIS PART HAS THE DOMAIN WE WANT TO HIDE', true, "THIS PART HAS THE API WE WANT TO HIDE", "");
                    requestB.send(null);

从html开始,但我们如何从包装器请求代码?

提前谢谢。

0 个答案:

没有答案