如何防止直接访问PHP页面?

ari*_*iel 3 javascript php ajax token

下面是我作为AJAX脚本的一部分使用的javascript片段.如何防止直接访问user_back_end_friends.php?我不希望人们能够访问domain.com/user_back_end_friends.php并查看朋友列表.

Javascript代码:

<script type="text/javascript">
    $(document).ready(function() {
        $("#user_friends").tokenInput("/user_back_end_friends.php", {
            theme: "sometheme", userid: "<?php echo $id; ?>"
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

这是我发现但不确定如何使用上面的javascript代码实现它:

我在需要调用它的页面中使用它:

$included=1;include("user_back_end_friends.php");
Run Code Online (Sandbox Code Playgroud)

当我必须阻止直接访问时,我使用:

if(!$included){ die("Error"); }
Run Code Online (Sandbox Code Playgroud)

但是如何在我的javascript代码中添加这个$ include部分脚本?

jer*_*oen 11

保护javascript代码毫无意义,您只需要保护服务器端代码.

无论如何,我认为你的方法不正确; 如果您已经有一个登录用户/用户ID,我只会使用会话中的用户ID而不是javascript提供的用户ID.这样,任何人都无法篡改它.

所以你可以用以下内容开始你的页面

session_start();
if (isset($_SESSION['user_id'))
{
  // do stuff with the user ID
}
else
{
  // display error message?
}
Run Code Online (Sandbox Code Playgroud)