剛剛完成了一本關於Web應用安全的精彩圖書,我有一個安全問題。我想讓用戶在我的網站上分享視頻。我沒有將它們限制爲youtube和vimeo嵌入的問題,無論如何可以爲我節省存儲空間,但我不希望在站點上運行不受信任的代碼。如何讓用戶安全地在我的網站上分享視頻
那麼,最好的辦法是什麼?
僅供參考,我在node.js和couchdb上使用express.js作爲數據庫。
剛剛完成了一本關於Web應用安全的精彩圖書,我有一個安全問題。我想讓用戶在我的網站上分享視頻。我沒有將它們限制爲youtube和vimeo嵌入的問題,無論如何可以爲我節省存儲空間,但我不希望在站點上運行不受信任的代碼。如何讓用戶安全地在我的網站上分享視頻
那麼,最好的辦法是什麼?
僅供參考,我在node.js和couchdb上使用express.js作爲數據庫。
你指的是什麼不可信的代碼?您可以將對外部視頻的引用存儲在您的數據庫中,並只用它們將視頻中的播放器嵌入到視圖中。無需Youtube或Vimeo的代碼在您的服務器上運行即可完成此操作。 Youtube API還允許用戶通過瀏覽器直接將視頻上傳到Youtube,而無需通過Web服務器進行代理。這意味着用戶無需在應用程序的服務器端上載任何第三方代碼即可上傳和嵌入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);
存儲引用正是我希望能採取的辦法,但如何應對引用不清楚我。 YouTube視頻所在網頁的網址爲http://www.youtube.com/watch?v=LdGLZPyPCkA,然後在嵌入代碼http://www.youtube.com/embed/LdGLZPyPCkA中有url,然後甚至還有共享選項http://youtu.be/LdGLZPyPCkA下的縮短網址。那麼,如何編寫知道如何處理這些鏈接的代碼? – Costa
注意所有這些鏈接的共同元素。所有你需要存儲的是LdGLZPyPCkA,並且當你的視圖正在生成時,你會根據它的使用方式來構建URL的其餘部分。 –
天才!你搖滾!嗯...所以正則表達式抓住這將是有點棘手。抓住最後的11個字符將工作,除了有時在視頻ID後面還有其他查詢參數。嗯...讓我們搜索谷歌他人如何做到這一點。非常感謝蒂莫西! – Costa