Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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
Ruby on rails 关于创建具有唯一URL的可下载产品的模型和方法设计的建议(在RubyonRails3中)_Ruby On Rails_Ruby On Rails 3_Data Modeling_Download - Fatal编程技术网

Ruby on rails 关于创建具有唯一URL的可下载产品的模型和方法设计的建议(在RubyonRails3中)

Ruby on rails 关于创建具有唯一URL的可下载产品的模型和方法设计的建议(在RubyonRails3中),ruby-on-rails,ruby-on-rails-3,data-modeling,download,Ruby On Rails,Ruby On Rails 3,Data Modeling,Download,我即将推出一款新的应用程序,可以下载数字文件。为了保证文件的安全,我从不想向最终用户提供确切的URL,而是想屏蔽URL。我还想生成唯一的令牌,最好是将其作为URL的一部分,这样每个URL都是唯一的、可跟踪的和可过期的,等等 我想,在某种程度上,URL缩写背后的理论是适用的 但是--我不确定的是,一旦我为产品生成了令牌和唯一的URL,我如何让rails应用程序将唯一的URL路由到产品的实际URL?我一直在查看Sendfile,但我不确定如何最好地执行此操作。是的,在处理“机密”URL的控制器操作中

我即将推出一款新的应用程序,可以下载数字文件。为了保证文件的安全,我从不想向最终用户提供确切的URL,而是想屏蔽URL。我还想生成唯一的令牌,最好是将其作为URL的一部分,这样每个URL都是唯一的、可跟踪的和可过期的,等等

我想,在某种程度上,URL缩写背后的理论是适用的


但是--我不确定的是,一旦我为产品生成了令牌和唯一的URL,我如何让rails应用程序将唯一的URL路由到产品的实际URL?我一直在查看Sendfile,但我不确定如何最好地执行此操作。

是的,在处理“机密”URL的控制器操作中,使用
send\u file
函数,如中所述。

因此,控制器获得GET请求,检查URL中的令牌是否有效,以及请求者是否有权访问请求的产品,然后发送\u文件发送,well文件?我确信这比这更复杂,因为相同的控制器方法将处理许多不同产品的下载,但我明白要点了吗?只要确保文件所在的位置本身不可通过网络访问(即,不可
公开
)。