用户可以更改html代码以删除他们想要的内容

时间:2014-07-16 22:11:25

标签: jquery html

我有这个javascript从网站上删除某个图片:

$(function() {
  $(document.body).on("click", ".deleteImg", function() {
    var item_id = $(this).attr("id");
    var parentImgBox = $(this).closest("start");
    var dataString = 'id='+item_id;
    $.ajax({
        type: "POST",
        url: "/ajax/removeitemajax.php", <--THIS FILE WILL REMOVE IMAGE FROM DATABASE
        data: dataString,
        success: function(data){
            if (data == 0) {
                alert('Error');
            } else {
                if(confirm("Are you sure?")){
                    parentImgBox.remove();
                }
            }
        }  
    });
  return false;
  });
});

这是我在file.php中使用的内容:

... PHP code reading through the database for images. Query varaible: $queries['blablabla']...

echo'
<start>
<div class="headPhotoGalleryIconBox">
    <img src="'.$queries['name'].'"></img>
    <div class="large-6 other_columns">
        <a id="'.$queries['id'].'" class="deleteImg"><i class="step fi-page-delete size-36"></i></a>
    </div>
</div>
</start>';

正如您可能已经看到的,此脚本取决于图像的item_id

我的问题是,用户/访问者可以编辑网站的源代码来更改<a>的ID,并删除带有该ID的可选内容。

我该如何解决这个问题?

谢谢!

2 个答案:

答案 0 :(得分:1)

如果我正确理解您的问题,您需要在实际删除图像之前验证用户是否有权删除图像。这必须在服务器端完成,使用您当前使用的任何身份验证。

永远不要,永远不要依赖用户输入的准确性来执行这样的操作。在完成之前,请务必重新检查以确保用户有权执行此类操作。

答案 1 :(得分:0)

您无法控制哪些HTTP请求进入您的服务器。

您必须执行某种身份验证和授权过程。

确定请求的来源(例如,使用登录系统)然后检查他们是否有权删除他们试图删除的内容(例如,检查“owned_by”列中的用户ID是否与用户ID匹配经过身份验证的用户。)