gpt4 book ai didi

php - 仅通过表单安全地允许从第三方网站插入我的 MySQL 数据库表?

转载 作者:行者123 更新时间:2023-11-30 23:53:02 25 4
gpt4 key购买 nike

因此,我正在从事的一个项目要求我向我的客户提供一个表格以放在他们的网站上。

当我客户的用户填写并提交表单时,数据应该被插入到我的数据库中。

现在,我可以创建一个 php 文件,客户端可以在 form action 中使用 database user,只有 INSERT 权限表,但这仍然使该表容易受到包含 数据库连接 详细信息的数据填充的影响。

那么,如何保证数据只是通过表单插入到表格中,而不是手动插入,以防止填塞?

P.S. 愿意接受其他有关如何安全实现此目的的建议,谢谢。

最佳答案

没有“手动插入”这样的东西,因为只有 HTTP 请求。无法区分使用浏览器的用户和使用自动化工具的用户。

那么你真正想做什么?

  • 限制插入次数
    让您的客户发布到您的 PHP 页面,例如 http://example.org/insert.php 您可以在其中限制插入速率。
    这允许任何人 插入您的数据库。永远不要授予对数据库的原始访问权限。

  • 限制可以插入的用户
    你应该看看OAuth,它非常简单明了,或者你可以使用非对称加密进行身份验证(基本上就像 SSH 一样)。
    注册后,您会为您的客户提供一个私有(private) API key ,该 key 可以唯一地标识他们并且需要它来访问您的 API。您可以选择向他们请求他们将从中访问您的 API 的(有限)域列表。

插入后,您可以检查 API key 以进行验证并识别您的客户,执行您想要的任何策略(包括反向查询发件人 IP 以匹配注册域、速率限制、撤销、审计等)。


不管怎样,你不应该让任何人访问你的数据库,你应该强制你的客户请求插入服务器端,否则你必须让任何人插入进入您的数据库以便使用您的服务。

关于php - 仅通过表单安全地允许从第三方网站插入我的 MySQL 数据库表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35534750/

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