Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/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
File 使用JSP/Tomcat私下提供文件?_File_Jsp_Tomcat_Private - Fatal编程技术网

File 使用JSP/Tomcat私下提供文件?

File 使用JSP/Tomcat私下提供文件?,file,jsp,tomcat,private,File,Jsp,Tomcat,Private,我正在编写一个JSP应用程序,它应该允许用户登录(通过简单的用户名和密码检查对PostgreSQL数据库进行身份验证)并上传照片。这些图像应该是私有的,因为只有用户在登录时才能访问它们。注销后,图像URL的副本不应工作。如何使用Tomcat/JSP实现这一点 我不想在数据库中存储blob。首先将图像存储在服务器上不可访问的文件夹中 每当用户请求特定图像时,您都会将用户重定向到另一个接受图像请求的servlet 此servlet将检查会话,以查看用户是否经过身份验证,以及请求映像的用户是否是同一用

我正在编写一个JSP应用程序,它应该允许用户登录(通过简单的用户名和密码检查对PostgreSQL数据库进行身份验证)并上传照片。这些图像应该是私有的,因为只有用户在登录时才能访问它们。注销后,图像URL的副本不应工作。如何使用Tomcat/JSP实现这一点


我不想在数据库中存储blob。

首先将图像存储在服务器上不可访问的文件夹中

每当用户请求特定图像时,您都会将用户重定向到另一个接受图像请求的servlet

此servlet将检查会话,以查看用户是否经过身份验证,以及请求映像的用户是否是同一用户,并且该用户是否可以访问映像

一旦servlet验证了用户和请求,它就会将映像复制到一个临时可访问的文件夹中,并将用户重定向到该映像

您可以添加一些改进,如在复制之前检查图像是否已在临时文件夹中,以及如果文件在一个多小时前被复制,则每小时运行一次“清理作业”并从临时文件夹中删除文件(您可以“触摸”复制的任何文件)等

还有两点:

  • 通过使用(vs.
    sendRedirect()
    ),用户将无法在地址栏中看到指向图像的静态链接
  • 正如我在评论中提到的:没有一种方法是100%可靠的,因为用户可以下载图片,然后通过论坛、dropbox等进行共享。您将采取的所有措施都将有助于减少此类行为,但不能完全消除

首先将图像存储在服务器上不可访问的文件夹中

每当用户请求特定图像时,您都会将用户重定向到另一个接受图像请求的servlet

此servlet将检查会话,以查看用户是否经过身份验证,以及请求映像的用户是否是同一用户,并且该用户是否可以访问映像

一旦servlet验证了用户和请求,它就会将映像复制到一个临时可访问的文件夹中,并将用户重定向到该映像

您可以添加一些改进,如在复制之前检查图像是否已在临时文件夹中,以及如果文件在一个多小时前被复制,则每小时运行一次“清理作业”并从临时文件夹中删除文件(您可以“触摸”复制的任何文件)等

还有两点:

  • 通过使用(vs.
    sendRedirect()
    ),用户将无法在地址栏中看到指向图像的静态链接
  • 正如我在评论中提到的:没有一种方法是100%可靠的,因为用户可以下载图片,然后通过论坛、dropbox等进行共享。您将采取的所有措施都将有助于减少此类行为,但不能完全消除

首先将图像存储在服务器上不可访问的文件夹中

每当用户请求特定图像时,您都会将用户重定向到另一个接受图像请求的servlet

此servlet将检查会话,以查看用户是否经过身份验证,以及请求映像的用户是否是同一用户,并且该用户是否可以访问映像

一旦servlet验证了用户和请求,它就会将映像复制到一个临时可访问的文件夹中,并将用户重定向到该映像

您可以添加一些改进,如在复制之前检查图像是否已在临时文件夹中,以及如果文件在一个多小时前被复制,则每小时运行一次“清理作业”并从临时文件夹中删除文件(您可以“触摸”复制的任何文件)等

还有两点:

  • 通过使用(vs.
    sendRedirect()
    ),用户将无法在地址栏中看到指向图像的静态链接
  • 正如我在评论中提到的:没有一种方法是100%可靠的,因为用户可以下载图片,然后通过论坛、dropbox等进行共享。您将采取的所有措施都将有助于减少此类行为,但不能完全消除

首先将图像存储在服务器上不可访问的文件夹中

每当用户请求特定图像时,您都会将用户重定向到另一个接受图像请求的servlet

此servlet将检查会话,以查看用户是否经过身份验证,以及请求映像的用户是否是同一用户,并且该用户是否可以访问映像

一旦servlet验证了用户和请求,它就会将映像复制到一个临时可访问的文件夹中,并将用户重定向到该映像

您可以添加一些改进,如在复制之前检查图像是否已在临时文件夹中,以及如果文件在一个多小时前被复制,则每小时运行一次“清理作业”并从临时文件夹中删除文件(您可以“触摸”复制的任何文件)等

还有两点:

  • 通过使用(vs.
    sendRedirect()
    ),用户将无法在地址栏中看到指向图像的静态链接
  • 正如我在评论中提到的:没有一种方法是100%可靠的,因为用户可以下载图片,然后通过论坛、dropbox等进行共享。您将采取的所有措施都将有助于减少此类行为,但不能完全消除

您可以使用servlet过滤器。 假设您有像/images/这样的url,其中存储了所有图像,因此使用过滤器可以检查此用户的会话是否处于活动状态

一些例子:
您可以使用servlet过滤器。 假设您有像/images/这样的url,其中存储了所有图像,因此使用过滤器可以检查此用户的会话是否处于活动状态

一些例子: 您可以使用servlet过滤器