Ajax - 安全漏洞? - PHP

时间:2015-07-18 06:32:52

标签: php jquery ajax

我在php中构建了一个系统,我的页面名称是x.php 在这个页面中我创建变量名$ accountid并从sesstion获取acocunt id。

现在我在php中的其他变量在同一页面上调用其他页面中称为functions.php的函数,并传递accountid,函数返回有关该帐户的信息(例如用户名...)

这是安全漏洞吗?

我的意思是用户可以使用其他帐户调用ajax到该功能,然后他可以获得有关其他帐户的信息吗?

这是代码示例:

<?php 
    include "Includs/Config.php";

    if(!isset($_SESSION[get("session_name")])) { 
            header("Location: index.php");
    }
    $accountid = getAccountid($_SESSION[get("session_name")]);
    $e = getECategorys($accountid);
?>


function getE($accountId){
    $query = mysql_query("SELECT * FROM `x` WHERE `accountid` = $accountId");   

    while($result = mysql_fetch_assoc($query)){
        // get the info about the account..
    }
}

2 个答案:

答案 0 :(得分:0)

是的,你是对的。用户可以通过将另一个accountId传递给该函数来获取信息。 解决方案:您所能做的就是检查会话变量并通过accountId。您可以放置​​条件,如果会话变量(accountId)与传递给该函数的accountId匹配,则只检索数据,否则会出错。

第二个解决方案是使用类库来实现这个功能,设置accountId的私有成员变量。

希望这有帮助。

答案 1 :(得分:0)

我不确定,您似乎从accountId获得$_SESSION所以这似乎是安全的。

此外,用户无法使用ajax直接调用php函数。

实际上,除了简单的HTTP请求之外,您不应该将AJAX视为其他内容。