國內大多都是Win2003的主機,FLV格式文件上傳服務器後不能播放,默認是沒有指定輸出FLV這種格式的雖然FTP裡面可以看見,但無法通過http訪問,也就無法播放了。原因是,WIN2003加強了IIS6的MIME驗證,一切未注冊擴展文件格式統統顯示404錯誤。手動在IIS得站點屬性中的HTTP頭->MIME添加MIME影射關系,MIME類型: video/x-flv 擴展名:.flv,即可通過Flash7+客戶端Load進來播放。
“虛擬主機都不支持Flv格式文件”的問題:比如你的Flv文件名稱是1.flv,在虛擬主機上建一個名為“1.flv”的目錄,在此目錄下放你的Flv格式文件,將其改名為:index.htm,這樣就行了,播放器中的文件名地址保持原樣不動。
讓IIS支持Flv的詳細設置方法:
IIS-->網站--->屬性--->HTTP性能--->MIME類型--->新建:
擴展名:.flv
MIME類型:flv-application/octet-stream
最近,一直在折騰個新項目,利用php+mysql實現類似EXCEL的報表統計功能。開發過程多有不易,其中一個關於FLV視頻文件無法播放的問題,雖說不是復雜,個人認為還是有必要分享下解決辦法,可能你也正在為它發愁。
隨著各大視頻網站的興起,FLV格式視頻文件也被我們所熟知。應項目需求,需要在自己服務器上放上FLV格式視頻文件。第一次接觸FLV視頻,說實話也挺新鮮的,不過,問題也隨之而來,這個FLV視頻竟然無法播放,一直提示加載狀態。檢查了嵌入的HTML代碼,也都是正確的。這就納悶了,想想以前,直接將視頻上傳到土豆、優酷一類網站,然後引用它的鏈接多方便啊。
FLV視頻文件無法播放的解決辦法
隨手Google了下,發現了一大堆FLV格式視頻文件無法播放的問題。其實也不復雜,就是IIS中MIME類型不支持.flv擴展名的視頻文件,自己添加下即可。下面的圖文教程會告訴你詳細的解決辦法!
1)打開IIS管理器,在你的計算機名上右鍵->屬性,找到“MIME類型”,如圖所示:
什麼是MIME類型?MIME類型就是設定某種擴展名的文件用一種應用程序來打開的方式類型,當該擴展名文件被訪問的時候,浏覽器會自動使用指定應
用程序來打開。多用於指定一些客戶端自定義的文件名,以及一些媒體文件打開方式。
2)依次執行如下操作:點擊“MIME類型”->“新建”->輸入擴展名“.flv”->輸入MIME類型“flv-application/octet-stream”->確定即可,如下:
3)重啟IIS管理器,刷新網頁,是不是FLV視頻文件可以播放了?
小技巧:如果你沒有自己的服務器,是虛擬主機用戶,不能在計算機中添加“MIME類型”。也別擔心,可以把視頻文件的.flv後綴名改成.swf,同樣也是可以播放的。
以上就是FLV格式視頻文件無法播放的解決辦法了,只要找著原因,對症下藥,還是很簡單的。舉一反三,以後再遇到同類問題也很好解決了。
你必須設置一下內容
1:在“Web服務擴展”中Active Server Pages,Internet 數據連接器,RPC代理服務擴展,以及在服務器端的包含文件都必須置為允許狀況
2:“網站”-》屬性-》主目錄-》配置-》選項-》啟動父路徑
3:“網站”-》屬性-》服務-》在隔離模式中選中“以IIS5.0隔離模式運行WWW服務”
4:開始-》程序-》管理工具-》服務.找到RPC服務,雙擊-》登錄-》允許服務與桌面交互
這樣在windows2003下就可以運行asp的Server.CreateObject("WScript.Shell")
本來我是想用asp.net做這個程序,在asp.netzh中也是一直存在這個問題。所以該用asp
在asp可以實現功能了。我就沒有在asp.net下做,諸位如果有興趣可以試一試!
2:解決辦法:
① 刪除或更名以下危險的ASP組件:
Wscript.Shell、Wscript.Shell.1、Wscript.Network、Wscript.Network.1、adodb.stream、Shell.application
開始------->運行--------->Regedit,打開注冊表編輯器,按Ctrl+F查找,依次輸入以上Wscript.Shell等組件名稱以及相應的ClassID,然後進行刪除或者更改名稱(這裡建議大家更名,如果有部分網頁ASP程序利用了上面的組件的話呢,只需在將寫ASP代碼的時候用我們更改後的組件名稱即可正常使用。當然如果你確信你的ASP程序中沒有用到以上組件,還是直
接刪除心中踏實一些^_^,按常規一般來說是不會做到以上這些組件的。刪除或更名後,iisreset重啟IIS後即可升效。)
[注意:由於Adodb.Stream這個組件有很多網頁中將用到,所以如果你的服務器是開虛擬主機的話,建議酢情處理。]
② 關於 File System Object (classid:0D43FE01-F093-11CF-8940-00A0C9054228)即常說的FSO的安全問題,如果您的服務器必需要用到FSO的話,(部分虛擬主機服務器一般需開FSO功能)可以參照本人的另一篇關於FSO安全解決辦法的文章:Microsoft Windows 2000 Server FSO 安全隱患解決辦法。如果您確信不要用到的話,可以直接反注冊此組件即可。
③ 直接反注冊、卸載這些危險組件的方法:(實用於不想用①及②類此類煩瑣的方法)
卸載wscript.shell對象,在cmd下或直接運行:regsvr32 /u %windir%\system32\WSHom.Ocx
卸載FSO對象,在cmd下或直接運行:regsvr32.exe /u %windir%\system32\scrrun.dll
卸載stream對象,在cmd下或直接運行: regsvr32 /s /u "C:\Program Files\Common Files\System\ado\msado15.dll"
如果想恢復的話只需要去掉 /U 即可重新再注冊以上相關ASP組件例如:regsvr32.exe %windir%\system32\scrrun.dll
④ 關於Webshell中利用set domainObject = GetObject("WinNT://.")來獲取服務器的進程、服務以及用戶等信息的防范,大家可以將服務中的Workstation[提供網絡鏈結和通訊]即Lanmanworkstation服務停止並禁用即可。此處理後,Webshell顯示進程處將為空白。
3 按照上1、2方法對ASP類危險組件進行處理後,用阿江的asp探針測試了一下,"服務器CPU詳情"和"服務器操作系統"根本查不到,內容為空白的。再用海洋測試Wsript.Shell來運行cmd命令也是提示Active無法創建對像。大家就都可以再也不要為ASP木馬危害到服務器系統的安全而擔擾了。
當然服務器安全遠遠不至這些,這裡為大家介紹的僅僅是本人在處理ASP木馬、Webshell上的一些心得體會。在下一篇中將為大家介紹如何簡簡單單的防止別人在服務器上執行如net user之類的命令,防溢出類攻擊得到cmdshell,以及執行添加用戶、改NTFS設置權限到終端登錄等等的最簡單有效的防范方法。