假设我有一个简单的 php 文件,它使用 JSON 字符串处理将数据上传到网络服务器的操作。
假设这是对/upload.php 的 POST 请求
网络服务器没有用户/任何类型的登录凭据。
为了防止任何人在偶然发现此网址时上传数据,在 php 代码中硬编码一个简单的密码短语检查是否是一种不好的做法?
想象一下在 json 字符串中包含 {“passcode”:”123abc”}
服务器确定此密码短语是否存在或正确。 如果不是,它就什么也不做。
伪代码就像这样。
If (json[“passcode”] == “123abc”)
{
Upload
}
Else
{
Throw404
}
每当有人想要上传时,都必须在文本框或类似内容中输入密码。
就像输入密码登录社交网络一样。
如果这是不好的做法,是否有另一种不需要用户和各种身份验证的替代方案?
最佳答案
对于像将数据上传到服务器这样敏感的事情,我的直觉是这是不行的 - 即使这打算由小公司中的 2-3 个人使用 - 它是“王国的 key ”如果只有一个人犯了错误,就会发生这样的事情。
您应该通过更多形式的保护来扩展脚本背后的安全性:
- IP限制
- 密码散列或加密/解密(切勿发送纯文本密码)
- 为每个用户提供自己的用户名和密码
这不需要太多额外的工作,您可以在网上找到很多资源。
如果您要保护的是只读类型的页面,也许是销售列表或其他内容,那么您原来的解决方案可能没问题,但直接上传到您的服务器是非常危险的,应该尽可能受到保护。
关于php - 使用密码短语进行 PHP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50652330/