正確上傳文件技巧
更新時(shí)間:2008年03月22日 13:22:56 作者:
網(wǎng)站有很多地方需要交互,比方說(shuō)有時(shí)候就需要用戶(hù)上傳文件。大部分的時(shí)候我都沒(méi)有在乎這一點(diǎn),我個(gè)人一向認(rèn)為正確上傳文件是常識(shí)。但當(dāng)我整理某臺(tái)服務(wù)器的時(shí)候,我發(fā)現(xiàn)有很多不合理的地方,于是寫(xiě)下來(lái)說(shuō)說(shuō)我的看法。這篇文件僅適合獨(dú)立開(kāi) Blog,和打算珍惜服務(wù)器的每 1KB 資源的人閱讀。
用戶(hù)的角度上說(shuō),上傳正確的文件應(yīng)是自律為主。上傳文件應(yīng)該遵守兩個(gè)原則,首先就是確定這個(gè)文件一定會(huì)使用到才會(huì)上傳,其次就是是盡量的小。下面,我舉例說(shuō)明一下。
比如用戶(hù)上傳圖片,jpg、gif 和 png 圖片格式所能展現(xiàn)的效果和內(nèi)容是不同的,但不建議采用上述格式以外的其他圖片格式作為上傳文件。這里,有一個(gè)連接詳細(xì)解釋這些內(nèi)容。
個(gè)人 Blog 的照片如果需要插圖,可以考慮使用如 Yupoo 等圖片共享網(wǎng)站,當(dāng)然前提是內(nèi)容符合他們的要求。這樣你本身就可以每個(gè)月就可以減輕一些存儲(chǔ)空間,并且更有利于管理。文章插圖容量應(yīng)該控制在 500KB 以?xún)?nèi),大小應(yīng)該控制在 800px 一下(以最寬一邊計(jì)算)。根據(jù)本人的經(jīng)驗(yàn),這樣最適合閱讀。
相同的道理,如果是自己的服務(wù)器,如果沒(méi)有必要,盡量不要上傳視頻等文件,因?yàn)檫@些文件將會(huì)迅速耗費(fèi)你的空間。你可以將一些公共的視頻放到 Youtube 等網(wǎng)站,這樣也可以起到分流的作用。
永遠(yuǎn)不要懷疑蜘蛛的力量,文件一旦上傳到服務(wù)器上,即便是沒(méi)有做任何的連接,都有可能被訪問(wèn)到(愚蠢的服務(wù)器)。所以千萬(wàn)不要將你的個(gè)人資料等上傳到服務(wù)器上。否則,除了會(huì)浪費(fèi)服務(wù)器空間以外,還會(huì)引起不必要的麻煩。
上傳的文件應(yīng)該盡量避免空格、中文、全角標(biāo)點(diǎn)符號(hào)等字符,因?yàn)榉?wù)器不一定能正確處理這些文件(雖然有點(diǎn)小題大作)。最好的做法是建議采用英文、數(shù)字和下劃線組合而成的便于理解的文件名。
隨后,下面是作為一名開(kāi)發(fā)者的一些開(kāi)發(fā)經(jīng)驗(yàn)。
永遠(yuǎn)不要懷疑腳本的破壞能力,小小的腳本可能就會(huì)毀了整臺(tái)服務(wù)器。所以避免 PHP、ASP、JSP 等這些服務(wù)器腳本上傳,Windows 主機(jī)特別要注意避免用戶(hù)上傳可執(zhí)行文件。*ix 服務(wù)器應(yīng)上傳操作以后立即將權(quán)限標(biāo)記為 644 (目錄權(quán)限為 755)。這個(gè)是第一條,而且是最總要的一條。
如果用戶(hù)不是非常的在意,我們應(yīng)該幫助他們重新生成上傳文件的文件名。文件名應(yīng)該包含文件上傳日期等有規(guī)律的名稱(chēng),這樣在便于區(qū)分的同時(shí)也便于按照特征備份。重命名的文件明建議采用小寫(xiě)(這個(gè)是我的個(gè)人習(xí)慣)。
最后,建議應(yīng)該適當(dāng)?shù)姆潘缮蟼黩?yàn)證的機(jī)制。請(qǐng)不要誤解我上句話(huà)的意思。比如上面我所說(shuō)的上傳的圖片格式,在“逃避”了客戶(hù)端的校驗(yàn)以后,發(fā)現(xiàn)用戶(hù)還是上傳了張 BMP 的圖片,這個(gè)時(shí)候應(yīng)該在適當(dāng)允許的范圍內(nèi),可以考慮將其轉(zhuǎn)換成指定的適當(dāng)格式存儲(chǔ),而不是“迂腐”地報(bào)錯(cuò)。
就是這些了,應(yīng)該還有其他的一些更有用的經(jīng)驗(yàn),為了避免以偏概全,歡迎大家一起探討。
比如用戶(hù)上傳圖片,jpg、gif 和 png 圖片格式所能展現(xiàn)的效果和內(nèi)容是不同的,但不建議采用上述格式以外的其他圖片格式作為上傳文件。這里,有一個(gè)連接詳細(xì)解釋這些內(nèi)容。
個(gè)人 Blog 的照片如果需要插圖,可以考慮使用如 Yupoo 等圖片共享網(wǎng)站,當(dāng)然前提是內(nèi)容符合他們的要求。這樣你本身就可以每個(gè)月就可以減輕一些存儲(chǔ)空間,并且更有利于管理。文章插圖容量應(yīng)該控制在 500KB 以?xún)?nèi),大小應(yīng)該控制在 800px 一下(以最寬一邊計(jì)算)。根據(jù)本人的經(jīng)驗(yàn),這樣最適合閱讀。
相同的道理,如果是自己的服務(wù)器,如果沒(méi)有必要,盡量不要上傳視頻等文件,因?yàn)檫@些文件將會(huì)迅速耗費(fèi)你的空間。你可以將一些公共的視頻放到 Youtube 等網(wǎng)站,這樣也可以起到分流的作用。
永遠(yuǎn)不要懷疑蜘蛛的力量,文件一旦上傳到服務(wù)器上,即便是沒(méi)有做任何的連接,都有可能被訪問(wèn)到(愚蠢的服務(wù)器)。所以千萬(wàn)不要將你的個(gè)人資料等上傳到服務(wù)器上。否則,除了會(huì)浪費(fèi)服務(wù)器空間以外,還會(huì)引起不必要的麻煩。
上傳的文件應(yīng)該盡量避免空格、中文、全角標(biāo)點(diǎn)符號(hào)等字符,因?yàn)榉?wù)器不一定能正確處理這些文件(雖然有點(diǎn)小題大作)。最好的做法是建議采用英文、數(shù)字和下劃線組合而成的便于理解的文件名。
隨后,下面是作為一名開(kāi)發(fā)者的一些開(kāi)發(fā)經(jīng)驗(yàn)。
永遠(yuǎn)不要懷疑腳本的破壞能力,小小的腳本可能就會(huì)毀了整臺(tái)服務(wù)器。所以避免 PHP、ASP、JSP 等這些服務(wù)器腳本上傳,Windows 主機(jī)特別要注意避免用戶(hù)上傳可執(zhí)行文件。*ix 服務(wù)器應(yīng)上傳操作以后立即將權(quán)限標(biāo)記為 644 (目錄權(quán)限為 755)。這個(gè)是第一條,而且是最總要的一條。
如果用戶(hù)不是非常的在意,我們應(yīng)該幫助他們重新生成上傳文件的文件名。文件名應(yīng)該包含文件上傳日期等有規(guī)律的名稱(chēng),這樣在便于區(qū)分的同時(shí)也便于按照特征備份。重命名的文件明建議采用小寫(xiě)(這個(gè)是我的個(gè)人習(xí)慣)。
最后,建議應(yīng)該適當(dāng)?shù)姆潘缮蟼黩?yàn)證的機(jī)制。請(qǐng)不要誤解我上句話(huà)的意思。比如上面我所說(shuō)的上傳的圖片格式,在“逃避”了客戶(hù)端的校驗(yàn)以后,發(fā)現(xiàn)用戶(hù)還是上傳了張 BMP 的圖片,這個(gè)時(shí)候應(yīng)該在適當(dāng)允許的范圍內(nèi),可以考慮將其轉(zhuǎn)換成指定的適當(dāng)格式存儲(chǔ),而不是“迂腐”地報(bào)錯(cuò)。
就是這些了,應(yīng)該還有其他的一些更有用的經(jīng)驗(yàn),為了避免以偏概全,歡迎大家一起探討。
相關(guān)文章
域名注冊(cè)的相關(guān)知識(shí)(新手必讀)
這篇文章主要介紹了域名注冊(cè)的相關(guān)知識(shí)(新手必讀)2007-03-03
對(duì)親歷的17個(gè)廣告聯(lián)盟對(duì)比和評(píng)價(jià)
對(duì)親歷的17個(gè)廣告聯(lián)盟對(duì)比和評(píng)價(jià)...2007-01-01
需要學(xué)習(xí)的成功站長(zhǎng)需要具備的三種素質(zhì)
需要學(xué)習(xí)的成功站長(zhǎng)需要具備的三種素質(zhì)...2007-07-07
站長(zhǎng)網(wǎng)seo聽(tīng)課心得總結(jié)
站長(zhǎng)網(wǎng)seo聽(tīng)課心得總結(jié)...2007-11-11
非常不錯(cuò)的精挑細(xì)選網(wǎng)站關(guān)鍵詞的相關(guān)技巧
理論:分析流量統(tǒng)計(jì)報(bào)告,挑選核心關(guān)鍵詞。做網(wǎng)站需要了解的知識(shí)2008-06-06
在IE6-的標(biāo)準(zhǔn)模式下和quirk模式下實(shí)現(xiàn)min-width
首先我們知道這個(gè)效果應(yīng)該是一個(gè)老話(huà)題了。 今天整理文件的時(shí)候,發(fā)現(xiàn)自己以前的一些布局的解決方法躺在文件夾里很長(zhǎng)時(shí)間了,翻翻老底吧 需要說(shuō)明的是有幸也見(jiàn)到過(guò)CSSPLAY的老工程師站長(zhǎng)對(duì)這個(gè)效果的實(shí)現(xiàn),而且肯定是很早就給出來(lái)了。2008-06-06

