如何防止使用java取消设置文件的只读标志?
我已经创建了一个servlet,让用户下载一个文件。下载文件时,我希望它是只读的,这样用户就不能修改它的内容。所以我使用了java.io.File类:如何防止使用java取消设置文件的只读标志?,java,file,readonly,Java,File,Readonly,我已经创建了一个servlet,让用户下载一个文件。下载文件时,我希望它是只读的,这样用户就不能修改它的内容。所以我使用了java.io.File类: downloadFile.setWritable(false) 但我意识到,用户可以在下载文件后取消只读标志 我可以采取什么措施防止解除只读标志的设置 我创建了一个servlet,让用户下载一个文件 该servlet将在web服务器上运行。它没有在用户的本地计算机上运行-因此它无法更改用户本地文件系统的任何内容。即使您的downloadFile.
downloadFile.setWritable(false)代码>
但我意识到,用户可以在下载文件后取消只读标志
我可以采取什么措施防止解除只读标志的设置
我创建了一个servlet,让用户下载一个文件
该servlet将在web服务器上运行。它没有在用户的本地计算机上运行-因此它无法更改用户本地文件系统的任何内容。即使您的downloadFile.setWritable(false)
也不会在用户的本地文件系统上运行-该文件将由浏览器保存,用户可以使用它执行任何操作
即使你在你的服务中单独运行一些应用程序,创建一个用户在自己的系统上无法触摸的文件不仅很难,而且非常不友好。您可以尝试以单独的用户身份运行应用程序,并对文件及其所在的目录授予适当的权限,但如果用户有权访问管理员帐户,他们仍然可以覆盖该帐户。用户下载了您的文件后,可以对该文件执行任何操作。如果你担心下载文件的真实性,那么考虑。
使用存储在服务器上且最终用户不可用的密钥对文件进行签名
要验证文件的真实性,请使用上面链接中描述的功能实现servlet。我认为这是不可能的。下载文件后,它处于用户系统的控制之下,您的服务器不再对其产生影响。