Php 如何在中锁定,防止更改上载的文件
我正在开发一个web应用程序,可以跟踪文件上传和修订。项目准备就绪后,将提交审批流程。我想在“提交审批”时锁定所有项目附件,以防止进一步更改 文件上传由我自己的简单表单处理,文件在mySql数据库中跟踪 是否将文件设置为只读,以便不能删除、重命名、移动等,但仍可查看?(即使通过FTP或cPanel文件管理器也可以防止更改) 这个想法是为了保护已经被批准的内容的完整性。至少我会使用.htaccess来防止直接查看uploads文件夹Php 如何在中锁定,防止更改上载的文件,php,linux,apache,.htaccess,Php,Linux,Apache,.htaccess,我正在开发一个web应用程序,可以跟踪文件上传和修订。项目准备就绪后,将提交审批流程。我想在“提交审批”时锁定所有项目附件,以防止进一步更改 文件上传由我自己的简单表单处理,文件在mySql数据库中跟踪 是否将文件设置为只读,以便不能删除、重命名、移动等,但仍可查看?(即使通过FTP或cPanel文件管理器也可以防止更改) 这个想法是为了保护已经被批准的内容的完整性。至少我会使用.htaccess来防止直接查看uploads文件夹 显然,有人可以通过SSH连接到服务器和SUDO SU中,然后做任
显然,有人可以通过SSH连接到服务器和SUDO SU中,然后做任何事情,但是,我考虑的是那些需要GUI的不太懂技术的人。你想要的是应用程序级控制,而不是操作系统级控制。也就是说,不要将文件设置为只读。相反,让应用程序识别项目处于“已提交”状态,并禁用允许用户更改项目的功能 如果您担心有人在项目应用程序之外使用FTP或cPanel更改文件,那么您可能会遇到人员问题,而不是技术问题。我从来不喜欢用技术来解决人事问题
也就是说,为了进一步确保没有发生操作系统级别的更改,您可以在提交项目时生成所有组件文件内容的散列,然后将这些散列与项目数据一起存储在数据库中。这将允许您在以后的任何日期确定文件是否已更改。这更多的是审计跟踪,而不是人员问题。谢谢你提出存储散列的想法,那就行了!