如何保护免受恶意使用jQuery post handler? - php

我使用jquery POST调用来获取要在网站各个部分中显示的数据。

通常,它们将发布到单个“ ajax_handler.php”页面,该页面读取请求的参数并返回相关数据。典型的参数可能是“ get_order_details”,123

我如何才能阻止用户发布到脚本来尝试检索他们不应该的数据?我知道我可以验证数据是否属于当前登录的用户,例如,但是如何阻止用户“猜测”可能存在“ get_some_info”的处理程序?

由于用户甚至可以直接从URL运行javascript,这对我来说似乎是一个主要的安全问题,因为客户端可以访问SESSION和COOKIE数据(否则将用于安全性)。

我想我可以先用随机字符串命名每个处理程序标识符,但我不希望损害代码的可读性。

参考方案

使用模糊的字符串命名您的处理程序是一种安全性,因为它会模糊不清,虽然这可能会使某人的速度变慢,但它不会阻止他们。

最好的办法是每次访问页面时都存储会话或数据库校验和。然后还发送相同的校验和以及POST内容。通过AJAX或其他方式提交表单后,您将比较校验和。如果它们不匹配,那么您会知道用户不在适当的页面上,并且正在尝试通过其他方法访问处理程序。

jquery.post()和php - php

我正在使用$()。post和php来更改的内容。脚本成功执行-萤火虫清楚地表明textarea标记之间的文本已更改,并且我的小警报触发。但是,用户看不到更改。在Firefox中根本不会发生更改,而在IE中,textarea最多可延迟10秒更新。这是我正在使用的jQuery:$(document).ready(function() { $('#pv_…

jQuery .post()返回数组 - php

对不起,标题不好,但我不知道该如何命名。我的问题是,每当我从选择框传递一个值时,我都会触发此jquery事件以选中该复选框。基本上我回显$ res [];在selecctedgr.php。我需要使用json吗?我该怎么办?主页:$("#group_name").change(function(){ var groupname = $(&#…

使用JQuery .post()发布数组 - php

所以我对使用jquery整个.post()感到很陌生。到目前为止,我只经历过POST输入值。我想做的就是发布一个数组。这是数字列表的标准数组。最终目标是:使用这些值执行查询。有人可以基本向我解释如何使用JQuery .post()来发布数组吗?非常感谢, 参考方案 我想,不用很详细地讲,关于您问题的答案称为JSON。这个过程很简单: 后端(PHP)数组-&g…

将帖子加载到div中 - php

实际上,我想这样说:$('#results1').html($.post("videoloaderurl.php", { id: byName } )); 显然,上面的代码不起作用。其中result1是div,而videoloaderurl.php返回html。 参考方案 您应该为函数提供success回调函数,该函数…

通过jQuery通过AJAX提交表单,并显示正在处理的PHP页面的返回 - php

我基本上只是想通过AJAX提交表单,并希望显示正在处理的PHP页面的返回。 PHP页面仅验证输入并显示发生的错误或向用户显示感谢信息。通常我不会使用ajax,但是在这种情况下,客户设置需要我这样做。听起来很简单,但我无法使其正常工作。我正在使用的jQuery(1.4.2)代码:$(document).ready(function() { $('#s…