刚读完一本关于 Web App Security 的很棒的书,我有一个安全问题。我想允许用户在我的网站上分享视频。将它们限制为 youtube 和 vimeo 嵌入没有问题,无论如何都可以节省存储空间,但我不希望在站点上运行不受信任的代码。
那么,最好的方法是什么?
仅供参考,我在 node.js 和 couchdb 之上使用 express.js 作为数据库。
你指的是什么不受信任的代码?您可以在数据库中存储对外部视频的引用,并使用它们在您的视图中嵌入播放器。无需在您的服务器上运行来自 Youtube 或 Vimeo 的代码即可完成此操作。Youtube API 还使您能够允许用户从浏览器直接将视频上传到 Youtube,而无需通过您的网络服务器进行代理。这意味着用户可以在应用程序的服务器端上传和嵌入 youtube 视频,而无需任何第三方代码。
要从视频 ID 创建链接,您可以简单地使用:
var directLink = "http://youtube.com/watch?v={0}".format(videoId);
var embedLink = "http://youtube.com/embed/watch?v={0}".format(videoId);
var shortLink = "http://youtu.be/watch?v={0}".format(videoId);