Javascript (VUEJS)如何在地址栏中加密我的路由参数?

Javascript (VUEJS)如何在地址栏中加密我的路由参数?,javascript,vue.js,web,youtube-data-api,Javascript,Vue.js,Web,Youtube Data Api,目前,我正在使用youtube数据api v3和VueJs开发类似youtube的Web应用程序 我通过$route.params.id使用视频id获取视频查询,我的URL大致如下所示, 因此,拥有该id的视频数据将显示在视频页面上 我只想在我的频道中播放视频。但后来我意识到,这种方式不是最佳做法,因为任何访问我的Web应用程序的人都可以轻松地替换地址栏中的视频ID,他们的视频也可以在我的Web应用程序中观看 我不希望这种情况发生,因为它可能被不负责任的人滥用 如果你们有任何可能的解决方案可以帮

目前,我正在使用youtube数据api v3和VueJs开发类似youtube的Web应用程序

我通过$route.params.id使用视频id获取视频查询,我的URL大致如下所示,

因此,拥有该id的视频数据将显示在视频页面上

我只想在我的频道中播放视频。但后来我意识到,这种方式不是最佳做法,因为任何访问我的Web应用程序的人都可以轻松地替换地址栏中的视频ID,他们的视频也可以在我的Web应用程序中观看

我不希望这种情况发生,因为它可能被不负责任的人滥用

如果你们有任何可能的解决方案可以帮助我,请让我知道,因为我仍然是VueJs开发的新手

这个项目是我第一次尝试正确地学习它


谢谢大家!

从您问题的内容来看,听起来您可能不想加密route param id,而是想过滤视频id,这样您的网站只从您的频道请求YouTube视频,而不是访问者可以在其浏览器地址栏中键入的任意视频

没有任何Vue特定于实现此目标

如果频道视频列表不经常更新,您只需在站点中硬编码此列表(视频的ID),并确保路由参数ID包含在该列表中

您还可以使用YouTube数据API获取该列表。请参阅注意,您可以放置一些缓存,以避免过于频繁地请求该列表并花费您的配额

例如,您可以将列表存储在后端服务/数据库中,而不是硬编码


最后,您仍然可以加密route param id,因此访客猜测视频id格式会有点困难,但您的解密算法将是客户端捆绑代码的一部分,所以,一个有足够动机的用户仍然可以访问该代码,以确定您的加密方法,并用适当的加密编码他们自己的视频ID。同样,加密中没有Vue特定的内容。

我明白了。。我想我应该选择将列表存储在后端服务中,因为我的频道经常更新。这意味着,我需要根据仅存在于数据库中的id对数据请求函数进行编码。对吗?你有很多方法来确保你的参数id包含在数据库中:在客户端检索完整的列表,进行单个id检查,等等。现在我明白了。我很难在客户机中存储完整的数据(就存储大小而言)。也许我应该做一个单一的id检查并编写逻辑结构,让我的后端通过只存在于数据库中的id从youtube数据api获取数据。有可能吗?很多事情都有可能。网上有很多教程。如果你在执行某项任务时遇到困难,请随时提问,并提供具体细节。好的,谢谢你,先生。我认为现在,这是明确的。像冠军一样解决!