我有一个小的 AJAX 脚本,它将 GET 变量传递给接收 PHP 文件,我们称之为AJAX_RECEIVER.php
.
该文件执行数据库查询,并基于 GETkey-value
对返回一个 responseText,然后将其送入 HTML 元素。
我有一些疑问
1) 如何防止有人通过在浏览器的 URL 中键入它来随机访问这个 AJAX_RECEIVER.php 文件?
2) 如何确保只有“有效”登录用户才能从AJAX_RECEIVER.php
? 文件
3) 如何使用 POST 将键值对传递给这个 AJAX_RECEIVER.php?
4)我想我可以将会话变量的值设置为表示有效用户已登录的值,并使用 POST 将其传递给 AJAX_RECEIVER.php,它会进行检查并仅在它是有效用户时返回合法的内容,我只是有点不确定这是否是最好的方法……或者还有其他方法吗?
抱歉,如果我的问题听起来有点重复或者可能在其他地方得到了回答,我们将不胜感激。PS 我不想使用 JQUERY(对 Javascript 非常满意,如果我可以用简单的 Javascript 做同样的事情,我不想再花几天时间学习另一件事)
如何防止某人通过在浏览器的 URL 中键入它来随机访问此 AJAX_RECEIVER.php 文件?
你不能。
如何确保只有“有效”登录用户才能从 AJAX_RECEIVER.php 获得有意义的响应?
与确保只有有效的登录用户才能从任何其他 PHP 程序获得有意义的响应的方式相同。(据推测,您正在使用某种基于会话的身份验证,请使用它)。
如何使用 POST 将键值对传递给这个 AJAX_RECEIVER.php?
有很多方法。传递一个FormData
对象fetch
可能是最简单的。
var formData = new FormData(document.querySelector("form"));
fetch('/AJAX_RECEIVER.php', {
method: 'POST',
body: formData
});
我想我可以将会话变量的值设置为表示有效用户已登录的值,
这就是大多数登录系统的工作方式
并使用 POST 将其传递给 AJAX_RECEIVER.php
只需继续使用相同的会话 cookie 来传递该数据。不要将其复制到发布请求的正文中。这将使伪造登录状态变得容易。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句