gpt4 book ai didi

php - 阻止用户通过访问端点 URL 输入 AJAX 数据

转载 作者:行者123 更新时间:2023-12-01 07:04:38 25 4
gpt4 key购买 nike

我有一个简单的表单,它将表单数据发送到 update.php,然后将数据插入 MySQL 数据库的表中。

$.ajax({
url: '/actions/update.php',
type: 'post',
data: {
name: 'name-data',
description:'description-data'
},
success: function( data, textStatus, jQxhr ){
console.log(data);
},
error: function( jqXhr, textStatus, errorThrown ){
console.log(errorThrown);
}
});

表单正常工作并且数据已完美添加到数据库中。问题是,理论上,如果用户知道数据发布到的 URL(如果查看源代码,他们可能知道),那么他们可以访问该 URL 并绕过表单添加记录。例如访问/actions/update.php 将会向数据库添加一条空白记录。

是否可以阻止用户访问该文件/目录,同时仍允许将数据发布到其中?

最佳答案

Is there away to block users to that file/directory while still allowing data to be posted to it?

这是思考问题的错误方式。

如果客户端 JavaScript 可以发出该请求,那么用户就可以向同一个 PHP 文件发出任何请求。

相反,在 PHP 中,您需要验证传递的参数是否符合您的可接受定义。

例如,您可能需要检查namedescription参数是否低于特定字符长度,或者当前登录的用户是否有权更新相关记录。

仔细思考什么是可以接受的,什么是不可以接受的。添加这些检查后,用户是否“访问该 URL 并绕过表单添加记录”就不再重要了。

关于php - 阻止用户通过访问端点 URL 输入 AJAX 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52238111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com