我目前正在开发一个使用 Javascript 通过 xmlhttprequest 发送文件的上传系统,效果很好。现在我想将文件信息与上传者的信息一起存储在数据库中。用户必须登录才能上传文件。因此,我将所有登录的成员存储在自己的表中(id、user_id、session_id、token)。
现在我的问题是我必须以某种方式确定上传者信息的用户名。我目前的解决方案是这样的:
var fd = new FormData();
fd.append("file", document.getElementById('file').files[0]);
fd.append("user", {{username}});
var xhr = new XMLHttpRequest();
xhr.open("POST", "/upload/local/handleUpload.php");
xhr.send(fd);
我正在使用 twig 模板系统来渲染模板文件({{username}} 是 php 脚本发送的用户名)
现在我知道用户名可以很容易地更改为其他名称。这就是为什么我要确保在“logged_in”表中有一个具有此用户名和可能此 session_id 的用户。
我的第一种方法是仅附加用户的当前 session_id 并发送它。
fd.append("session_id", {{session_id}});
但这是我的问题:这是一种“安全”的方式吗?或者我应该如何处理这个?我感谢我能得到的每一个帮助!
非常感谢!