Luar's Flash Playground:Flash Upload與Http Error 400 Bad Request奇怪問題
新聞(101)
觀點或評論(94)
Flash書(63)
教程(73)
Design Patterns(3)
FlashCom筆記(47)
Flash Remoting筆記(27)
Flex筆記(11)
Flash Lite筆記(14)
PHP資訊(23)
Ajax筆記(9)
習作(51)
組件(17)
酷站(32)
學習資源(28)
書籍推介(15)
本站與我(91)
RSS瀏覽器
聯絡
熱愛鑽研
Ajax
ActionScript
Flash
Flash Lite
Flex
Flash Remoting
FlashCom
Director
Lingo
PHP
Multiplayer Game

搜尋
VCASMO
Flash Upload與Http Error 400 Bad Request奇怪問題 (09-02-2008)

上一篇,另一個奇怪問題,Flash Upload無法上傳問題。眾所周知,Flash Upload是Flash Player 8開始支援的功能,不過,可以說是一個問題多多,功能不全的雞肋功能。昨天將本地測試沒有問題的東西Upload到客戶Server,當測試時,發現不能Upload,所有Upload東西都被擋了,出現HTTP Error 400 Bad Request。

我第一個反應,難道是Server不支援帶參數的路徑?因為Flash Upload功能不全,Upload檔案時,是不能帶其他參數,所以人們解決方法是將參數加在路徑上,以Get方式傳送,例如:

upload.php?userid=1

我立即用一個簡單Flash Upload Sample,不帶參數到客戶Server測試,結果也是一樣,再試Upload到一個錯誤不存在路徑,都被擋了,證明不是程式問題,是Apache上問題。

一直知道Flash Upload在Apache上有可能出現HTTP Error 403問題,因為Flash Upload的數據Header,格式不正確(至今Adobe都不去解決),被裝了mod_security的Apache當作非法侵入數據擋了。網上流傳同一個解決方法,在.htaccess加上來停止mod_security:

SecFilterEngine Off
SecFilterScanPOST Off

我的問題是HTTP Error不是403,是400,再加上以上兩句,整個網站出現Internal Server Error 500(已經設定了Options FollowSymLinks和AllowOverride all),於是不往mod_security方面想,繼續Google,發現根本沒有人遇到HTTP Error 400問題。

反復閱讀客戶Server的httpd.conf和它引用了module,發現它真的用了mod_security,先不要Apache load mod_security這東西,Flash Upload就操作正常了!

好了,但是為什麼在.htaccess層面不能停止mod_security它?最後我要在Virtual Host 的conf檔案加上SecRuleEngine Off才可以停止它。

本文章由發表。
意見
  • hi,luar。我把您加到了我的友链中。因为一直很尊敬您,而且今天我在写这篇日志( http://www.mepine.com/?p=23 )时候搜索到了您的“《無間道3》中的RIA”一文,发现与您的想法竟完全相同。感到很荣幸,并且希望您有时间对我的文章进行批评指正。

    MePine於11-02-2008發表

同組文章

Movable Type 4.32-en系統支持,Luar's Production版權所有。