Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在中锁定,防止更改上载的文件_Php_Linux_Apache_.htaccess - Fatal编程技术网

Php 如何在中锁定,防止更改上载的文件

Php 如何在中锁定,防止更改上载的文件,php,linux,apache,.htaccess,Php,Linux,Apache,.htaccess,我正在开发一个web应用程序,可以跟踪文件上传和修订。项目准备就绪后,将提交审批流程。我想在“提交审批”时锁定所有项目附件,以防止进一步更改 文件上传由我自己的简单表单处理,文件在mySql数据库中跟踪 是否将文件设置为只读,以便不能删除、重命名、移动等,但仍可查看?(即使通过FTP或cPanel文件管理器也可以防止更改) 这个想法是为了保护已经被批准的内容的完整性。至少我会使用.htaccess来防止直接查看uploads文件夹 显然,有人可以通过SSH连接到服务器和SUDO SU中,然后做任

我正在开发一个web应用程序,可以跟踪文件上传和修订。项目准备就绪后,将提交审批流程。我想在“提交审批”时锁定所有项目附件,以防止进一步更改

文件上传由我自己的简单表单处理,文件在mySql数据库中跟踪

是否将文件设置为只读,以便不能删除、重命名、移动等,但仍可查看?(即使通过FTP或cPanel文件管理器也可以防止更改)

这个想法是为了保护已经被批准的内容的完整性。至少我会使用.htaccess来防止直接查看uploads文件夹


显然,有人可以通过SSH连接到服务器和SUDO SU中,然后做任何事情,但是,我考虑的是那些需要GUI的不太懂技术的人。

你想要的是应用程序级控制,而不是操作系统级控制。也就是说,不要将文件设置为只读。相反,让应用程序识别项目处于“已提交”状态,并禁用允许用户更改项目的功能

如果您担心有人在项目应用程序之外使用FTP或cPanel更改文件,那么您可能会遇到人员问题,而不是技术问题。我从来不喜欢用技术来解决人事问题


也就是说,为了进一步确保没有发生操作系统级别的更改,您可以在提交项目时生成所有组件文件内容的散列,然后将这些散列与项目数据一起存储在数据库中。这将允许您在以后的任何日期确定文件是否已更改。

这更多的是审计跟踪,而不是人员问题。谢谢你提出存储散列的想法,那就行了!