Javascript AJAX验证正确的用户

Javascript AJAX验证正确的用户,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在使用AJAX删除论坛上的帖子 代码这样做是为了只有当会话变量“user”等于数据库中的变量时,删除图标才会显示。这是完美的,所以我相信这里不需要包含代码 然而,从理论上讲,难道任何人都不能读取javascript代码,转到处理所有内容的文件并删除他们想要的任何内容吗 我解决这个问题的想法是发送一个带有用户名的附加变量,并在处理页面上再次检查它 Ajax代码: $('#deletePost').click(function() { var xhttp = new XM

我正在使用AJAX删除论坛上的帖子

代码这样做是为了只有当会话变量“user”等于数据库中的变量时,删除图标才会显示。这是完美的,所以我相信这里不需要包含代码

然而,从理论上讲,难道任何人都不能读取javascript代码,转到处理所有内容的文件并删除他们想要的任何内容吗

我解决这个问题的想法是发送一个带有用户名的附加变量,并在处理页面上再次检查它

Ajax代码:

    $('#deletePost').click(function() {
        var xhttp = new XMLHttpRequest();
        var getId = <?php echo $_GET['id']?>

        xhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                var replace = confirm("Your post was successfully deleted. Click OK to return to the homepage.");
                if (replace == true) {
                    location.replace('index');
                } else {
                    location.reload();
                }
            }
        }
        xhttp.open('GET', 'deletepost.php?id=' + getId, true);
        xhttp.send();

        return false;
    });
$('#deletePost')。单击(函数(){
var xhttp=newXMLHttpRequest();
var getId=
xhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
var replace=confirm(“您的帖子已成功删除。单击“确定”返回主页。”);
if(replace==true){
位置。替换(“索引”);
}否则{
location.reload();
}
}
}
open('GET','deletepost.php?id='+getId,true);
xhttp.send();
返回false;
});
更深入地解释我的担忧:任何人都可以看到处理信息的文件,因此他们可以直接访问

然后只要应用他们想要的任何id,url就会变成

因为第二页没有验证,所以这是可行的

<?php

if (!isset($_GET['id'])) {
    echo 'e';
} else {
    $id = intval($GET['id']);
    $sql = 'DELETE FROM posts WHERE post_id=' . mysqli_real_escape_string($conn, $id);
    $result = mysqli_query($conn, $sql);

    if (!$result) {
        echo 'Failed to delete your post. Please try again or contact administration.';
    }
}


因此,如果有人对如何验证这一点有任何想法,我们将不胜感激。如果有任何不清楚的地方,请发表评论,我会填写。

如果您正在使用会话,请检查目标php页面上是否也存在该会话。使用(post)方法并检查帖子是否为当前用户帖子,然后删除其他内容。不要delete@LelioFaieta真不敢相信我没想到,感谢you@Saetre您需要检查两件事来限定任何要删除的HTTP请求。1-请求来自有效用户。您可以检查他/她的会话信息。2-如果发现用户是有效用户,则需要检查他/她是否有足够的权限删除其请求的实体。