Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php+;AJAX,如何隐藏文件名?_Php_Ajax - Fatal编程技术网

Php+;AJAX,如何隐藏文件名?

Php+;AJAX,如何隐藏文件名?,php,ajax,Php,Ajax,这是我的密码 getuser.php: ... while ($result = @mssql_fetch_assoc($data)) { foreach ($result as $item => $value) { if (is_null($value)) { $result[$item] = 'Empty'; } } foreach ($result

这是我的密码

getuser.php

...
    while ($result = @mssql_fetch_assoc($data)) {
        foreach ($result as $item => $value) {
            if (is_null($value)) {
                $result[$item] = 'Empty';
            }
        }

       foreach ($result as $result => $data) {
            echo '' . $result . '' . '' . $data . '';
       }
    }

    echo "";
}

mssql_close($con);
?>
function showUser(str) {
    if (str=="") {
        document.getElementById("result").innerHTML="";
        return;
    }

    if (window.XMLHttpRequest) {
        xmlhttp=new XMLHttpRequest();
    } else {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
            document.getElementById("result").innerHTML=xmlhttp.responseText;
        }
    };

    xmlhttp.open("GET","getchar.php?q="+str,true); xmlhttp.send();
}
index.php

...
    while ($result = @mssql_fetch_assoc($data)) {
        foreach ($result as $item => $value) {
            if (is_null($value)) {
                $result[$item] = 'Empty';
            }
        }

       foreach ($result as $result => $data) {
            echo '' . $result . '' . '' . $data . '';
       }
    }

    echo "";
}

mssql_close($con);
?>
function showUser(str) {
    if (str=="") {
        document.getElementById("result").innerHTML="";
        return;
    }

    if (window.XMLHttpRequest) {
        xmlhttp=new XMLHttpRequest();
    } else {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
            document.getElementById("result").innerHTML=xmlhttp.responseText;
        }
    };

    xmlhttp.open("GET","getchar.php?q="+str,true); xmlhttp.send();
}
这是一个即时搜索,为了找到用户,它会在输入信息后立即获取他们的信息。 基本上我想知道,是否有一种方法可以在AJAX脚本(xml部分)中隐藏PHP页面(getuser.PHP)的文件名,这样人们就不能直接访问www.example.com/getuser.PHP?q=user 并获取信息。我是否需要添加&&语句来查看登录的人是否是管理员?很像

if(isset($_GET)) && isset($_SESSION['user']))
{
    // do code
}
你不能


浏览器必须知道它将要获取的URL,并且找出浏览器正在请求的URL(如果没有其他内容,则通过查看调试器中的“网络”选项卡)非常简单。

没有。但是您可以在PHP文件中检测AJAX请求,这样用户就无法在浏览器中导航到该页面。像这样:

if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && 'xmlhttprequest' == strtolower($_SERVER['HTTP_X_REQUESTED_WITH'])) {
    // put code here
}

请添加换行符并正确缩进代码。如果您的代码可读,这里的更多成员将愿意提供帮助。我在许多网站的“网络”选项卡中进行了检查,但没有显示名称…-在这里,当我更改Category下拉选项时,文件名与current相同URL@sqlchild-当我更改类别下拉列表时,该站点发出了两个在Net选项卡中可见的HTTP请求: