Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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
如何防止使用java取消设置文件的只读标志?_Java_File_Readonly - Fatal编程技术网

如何防止使用java取消设置文件的只读标志?

如何防止使用java取消设置文件的只读标志?,java,file,readonly,Java,File,Readonly,我已经创建了一个servlet,让用户下载一个文件。下载文件时,我希望它是只读的,这样用户就不能修改它的内容。所以我使用了java.io.File类: downloadFile.setWritable(false) 但我意识到,用户可以在下载文件后取消只读标志 我可以采取什么措施防止解除只读标志的设置 我创建了一个servlet,让用户下载一个文件 该servlet将在web服务器上运行。它没有在用户的本地计算机上运行-因此它无法更改用户本地文件系统的任何内容。即使您的downloadFile.

我已经创建了一个servlet,让用户下载一个文件。下载文件时,我希望它是只读的,这样用户就不能修改它的内容。所以我使用了java.io.File类:

downloadFile.setWritable(false)

但我意识到,用户可以在下载文件后取消只读标志

我可以采取什么措施防止解除只读标志的设置

我创建了一个servlet,让用户下载一个文件

该servlet将在web服务器上运行。它没有在用户的本地计算机上运行-因此它无法更改用户本地文件系统的任何内容。即使您的
downloadFile.setWritable(false)
也不会在用户的本地文件系统上运行-该文件将由浏览器保存,用户可以使用它执行任何操作


即使你在你的服务中单独运行一些应用程序,创建一个用户在自己的系统上无法触摸的文件不仅很难,而且非常不友好。您可以尝试以单独的用户身份运行应用程序,并对文件及其所在的目录授予适当的权限,但如果用户有权访问管理员帐户,他们仍然可以覆盖该帐户。

用户下载了您的文件后,可以对该文件执行任何操作。如果你担心下载文件的真实性,那么考虑。 使用存储在服务器上且最终用户不可用的密钥对文件进行签名


要验证文件的真实性,请使用上面链接中描述的功能实现servlet。

我认为这是不可能的。下载文件后,它处于用户系统的控制之下,您的服务器不再对其产生影响。