本文目錄一覽:
做門戶網站,phpwind和discuz有啥區別呢?哪裡能找到教程?
一、界面篇
首先,從界面上說,從整體上說,dz的界面比較美觀,整體感好。
pw的界面給人一種模仿dz的感覺。同時在界面的細節上,看起來pw還是沒有dz完美。
二、技術篇
從技術上說,pw和dz都使用了文件方式的數據緩存技術,通過把常用的數據表,比如論壇版面設置參數、基本參數等,生成靜態緩存文件(根據條件觸發更新或者手動更新),來減少數據庫讀取次數,提高效率,在這個方面兩者非常相似。
1、模版技術
從模版技術上說,dz從2.5f版就開始採用的這種靜態模版技術,從俺個人角度上說,還是非常適合論壇這種頻繁更新的網站程序使用的。它通過動態生成靜態模版的方式,解決了模版解析效率的問題。
同時,dz的這種模版方式,使得修改界面也比較容易,很直觀。
而pw使用echo語句的這種方式(姑且稱其為模版),就寒磣多了,要增加了一個if判斷條件,就要折騰半天。添加了混合PHP代碼的模板,在
dreamweaver中也容易被誤操作刪除。特別是如果修改的時候稍有不慎,很可能會使網頁成了白板(沒有輸出),讓俺每次修改pw模版無不如履薄冰,戰戰兢兢。。。。恐怕這也是第三方模版中,dz遠遠多於pw的原因吧。
不過pw目前在模版上也在改進,現在看verycms 3.0就已經開始使用真正的模版技術,不過目前用的都還比較初級。。。
2、速度問題
從模版上看,兩者的效率應該是差不多的,pw的模版其實就是直接包含的混合了PHP語句的一部分PHP文件,而dz的模版平時並不需要解析,所以效率應該是差不多的,但是網上總是有人聲稱網站使用dz的速度比pw慢,這方面本人沒有測試過,不敢妄作評論。而且網站訪問速度還是要受很多因素的影響,比如:本地網速、服務器帶寬、心理。。。。。客觀的評價還是很難的,除非使用專業技術手段。不過從官方網站的速度來看,明顯還是pw佔優啊
三、功能篇
1、登錄方式:
pw的前台登錄和後台登錄採用了不同的Cookie方式,這樣前後台分開的方式,有利於安全,也便於管理。後台帳號與前台帳號可以徹底分開。
而dz的前後台登錄是用了一個帳號,儘管在進入後台的時候再次提示輸入密碼,不過還是不如pw方便。
2、分欄顯示:
pw從5.0.1開始支持左右分欄顯示了,然而功能太簡單,不能樹狀顯示子板塊,此功能與其說有,不如說沒有,弄的有點搞笑,屬於半成品(倒是也符合pw的一貫特點–喜歡推出一些不完美的東西讓大家修改)。
3、後台管理的效率:
pw的橫向操作非常不錯,大大節省了管理的難度,特別是在根據用戶組設置權限的時候,非常的那個方便啊,這方面dz需要改進。
dz提供了一個方案的方式來解決後台重複操作問題,應該說也有一定道理,但是用起來不太容易上手,如果是設置一個單獨的項目,就比較繁瑣。
4、個人空間(文集)功能:
dz5.5內置了minispace個人空間功能,可以說自從discuz合併了supsite以後,在論壇功能的外展方面,佔據了很大優勢,吸引了很多個人網站的注意力。
5、防灌水技術
pw5.3終於接受了俺提出的新手註冊第N貼以前發帖使用驗證碼的方式,這樣既不影響老用戶的使用,又通過驗證碼方式來限制惡意灌水機械人。dz未提供此功能,但是具有可以設定第N貼以後不用自定義問答的功能(dz的驗證碼很爛,根本看不清,用自定義問答似乎更好一些)。
在防止自動註冊方面,pw和dz都使用了自定義問答方式防止自動註冊的辦法,具體原理很簡單,兩者實現的都差不多。區別在於,dz要求設置10個以上的問題才能生效,而pw只能設置一個問題。另外,還有一個區別,就是pw可以自定義問答中內部使用的form變量名,可能在防止惡意自動註冊方面,會更加有效一些。pw的自定義問題只能用於註冊,而dz的可以用在註冊、發帖和短消息等方面。
6、前台管理功能
pw具備副版主功能,不過和一般的思路不同,副版主是由版主任命的,這樣恐怕會導致權限混亂問題,所以也很少有人用這個功能。
在前台的管理功能中,pw更方便一些,不僅的主題列表中能進行管理,在帖子內容頁面中的管理方式比dz用下拉方式更直觀一些。而且在一個主題裏面刪除帖子,pw比dz直觀多了。
7、所見即所得編輯器
dz5.5和pw5.3開始,不約而同的把所見即所得編輯器換成了ubbcode(兩個論壇名稱不一樣,這裡用個通俗一點的名稱,暫稱為UBBCode)方式的編輯器,而放棄了原來的HTML可視化編輯器。
8、附件上傳和所見即所得功能:
pw的附件還是只能提交帖子上傳以後才能進行圖文混排,這方面dz要好的多,可以上傳前就進行混排,方便多了
dz對不參與上傳的圖片附件還是顯示太多信息,看起來影響美觀(似乎是受vbb和phpbb的影響比較大)。而pw只是顯示了「圖片」字樣和描述信息,但是更噁心的是,卻把這些圖片放到正文文字上方
,真是屢教不改啊
9、附件防盜鏈技術的分析:
dz採用了隱藏圖片地址,和檢測訪問來源(可選)的辦法來防盜鏈,應該說服務器負擔比較大,效果還行,但不能徹底解決問題。
pw用的辦法更簡單,但更有效一些:就是定期或者自動修改附件目錄名,應該說這是一個投資少見效快的好辦法,技術上也很簡單。不過最新的pw5.3版本也引入了隱藏附件地址的方式,後台也似乎無法關閉此項功能,似乎有點畫蛇添足的味道了。。。。
10、廣告功能:
dz比pw要好一些,廣告功能更完善一些。比如貼內廣告,在帖子下面的位置類似動網的位置,看起來更整齊一些,而pw的位置就讓帖子布局顯得比較凌亂,不好看。dz的貼間廣告可以插入大的Google
Banner廣告,或者其它圖片形式的廣告,展示效果很好。
相比dz,pw廣告的插入位置更少一些,效果也差一些。
11、頭像顯示:
dz不能限制上傳頭像的長寬尺寸,只能限制總像素數,顯得不夠靈活,不如pw方便。而且超出了一定尺寸的頭像,被自動縮放和拉伸了,看起來很難看。而且
dz還自動給頭像加了一個邊框,甚是噁心。可見dz把簡單的事情給弄複雜化了,其實只要和pw一樣,限制其尺寸,根本不需要拉伸。
12、附件尺寸限制:
pw只能設定所有附件的尺寸,而dz可以對個別格式的附件設定上傳尺寸,比較靈活一些,特別適合一些flash網站,或者技術型網站(比如上傳大尺寸圖紙等)。
13、詞語過濾:
pw只能使用普通方式過濾,不支持大小寫(很簡單的事情,官方就是不辦,舉手之勞啊)。
而dz不僅能識別大小寫,而且具有了一定的模糊識別功能,相當不錯了。當然,要是能直接支持正則表達式就更爽了。
14、自定義代碼功能:
pw至今不支持自定義wincode代碼,比較僵化。要增加功能,就只能修改js文件,太過麻煩。。。。
dz在這方面做的比較完美,要增加或者減少代碼、修改播放界面尺寸都很容易,在後台設置一下就可以了
15、回收站功能:
dz可以設定自動清理,而pw不能
16、IP來源顯示功能:
dz的IP地址和來源顯示類似動網,看起來不太方便,需要點擊小電腦圖標才行。還是pw的IP地址來源顯示看起來比較舒服一些。
17、防CC攻擊:
pw早在4.3.2就增加了抗CC攻擊功能,而且設置起來比較簡單,新手也能看懂。當初俺就是因為這個原因才用了pw。
dz5.5雖然號稱帶有cc攻擊防護,不過看起來比較難於理解,在後台找了半天也沒找到,估計新手是操作不了的。當年某著名站長論壇(用dz)可就是被CC攻擊搞的長期開不了張的,看起來dz的防CC攻擊功能還有待改進。
18、備份功能
pw能支持對pw程序以外的數據表進行備份,而且判斷標準不是根據表前綴。可以單獨備份pw表以外的數據表,對於那些建立了新表的插件,備份數據超級容易,這方面比較人性化。
dz只是根據表前綴來進行備份,比如你設置一個表,叫做cdb_test,那麼它會把它認為是論壇數據表而進行備份。但是如果你設置一個表,叫做test,那就自己想辦法去吧。。。。
但是dz比pw強的是,備份可以壓縮,壓縮後下載和轉存備份文件應該會節省巨大的空間和時間,對於超大型論壇應該是非常管用的。dz備份可以指定文件名,而且備份數據用十六進制表示(安全一些,但是佔用空間會大一些),估計導入和恢復的中文內碼問題就不會存在了。
19、文件和數據庫校驗:
dz內置了文件和數據庫校驗的功能,pw只是官方提供了一個文件校驗工具,不過用起來有點莫明其妙,有時候提示使用的函數在php文件中根本不存在
20、主題推薦和相關貼功能:
dz通過qihoo實現了相關貼的功能,而且還可以支持主題推薦,這方面比pw強了很多。
21、模版和風格設置
phpwind可以在後台設置風格CSS文件,雖然新手不太容易上手,但確實還是比較方便的。
dz更進一步,把css的內容給解釋成了表單的形式,讓新手也能操作,不過帶來的缺點更加大了:如果你想在CSS中增加控制(比如調整行間距等),就不知道該怎麼弄了,只好去修改模版。好在dz還提供了一個附加功能:在後台可以直接修改模版,而且編輯界面中還帶搜索功能,總算是亡羊補牢了
dz以較大優勢在功能上超過pw,而且在dz有些勝過pw的功能上,好多都是以較大優勢取勝。
資料來源:
其實網站上的「驗證碼」有什麼用的啊?
問:黑風冰(49520959) (2005-07-25 20:07:38)
論壇管理員
能說說那驗證碼為什麼不能顯示,你在論壇只說了解決方法。
我很想知道其中原由。
能說說嗎?
答:這是個時政問題啊,呵呵.目前,不少網站為了防止用戶利用機械人自動註冊、登錄、灌水,都採用了驗證碼技術。所謂驗證碼,就是將一串隨機產生的數字或符號,生成一幅圖片, 圖片里加上一些干擾象素(防止OCR),由用戶肉眼識別其中的驗證碼信息,輸入表單提交網站驗證,驗證成功後才能使用某項功能。這不,我們軍團論壇,也搞這個把戲了.搞得昨天晚上,我都不能發帖,運行了幾次補丁,然後重新啟動ie依然看不見驗證碼,懷疑我的機器安全措施太高,果然發現我禁止修改註冊表.改禁後,問題依然,沒有辦法,只好手工了.問題得解.
很多朋友對驗證碼有疑問,各大論壇的用戶也對驗證碼十分討厭,覺得麻煩,下面我們來解密這個東東.還是我的風格,通俗透徹,一分為幾,逐步解答.下面我們開始:
最初的驗證碼,只是幾個隨機生成的數字。但是道高一尺魔高一丈,很快就有能識別數字的軟件了,「收藏家」們利用這種軟件批量獲取帳號,或是探測密碼,因為軟件可以不知疲倦地不斷submit。於是,出現了圖片形式的驗證碼,還要加上無規則的背景,既然人眼都難以分辨,想來軟件分辨起來就有一定的難度。但是騰訊開始採用漢字圖片做驗證碼,是不是意味着破解驗證碼的技術又有了新進展,帶背景的數字或字母圖片形式的驗證碼,也可以被軟件分辨了?
值得說明的是:驗證碼不同於註冊碼,註冊碼是軟件作者根據提交的機器碼通過特殊算法算出的,能讓軟件正常運行的密碼。
一.常見的驗證碼
1,四位數字,隨機的一數字字符串,最原始的驗證碼,驗證作用幾乎為零。
2,CSDN網站用戶登錄用的是GIF格式,目前常用的隨機數字圖片驗證碼。圖片上的字符比較中規中矩,驗證作用比上一個好。沒有基本圖形圖像學知識的人,不可破!可惜讀取它的程序,在CSDN使用它的第一天,好像就在論壇里發佈了,真是可憐!
3,QQ網站用戶登錄用的是PNG格式,圖片用的隨機數字+隨機大寫英文字母,整個構圖有點張揚,每刷新一次,每個字符還會變位置呢!有時候出來的圖片,人眼都識別不了,厲害啊…
4,MS的hotmail申請時候的是BMP格式, 隨機數字+隨機大寫英文字母+隨機干擾像素+隨機位置。
5,Google的Gmail註冊時候的是JPG格式,隨機英文字母+隨機顏色+隨機位置+隨機長度。
6,其他各大論壇的是XBM格式,內容隨機。
二.驗證碼作用分析
驗證碼起源:因為攻擊者會使用有害程序註冊大量的 Web 服務帳戶(如 Passport)。攻擊者可以使用這些帳戶為其他的用戶製造麻煩,如發送垃圾郵件或通過同時反覆登錄多個帳戶來延緩服務的速度。在大多數情況下,自動註冊程序不能識別此圖片中的字符。簡單的說呢,就是防止攻擊者編寫程序,自動註冊,重複登錄暴力破解密碼。驗證碼技術應運而生。
驗證碼實現流程:服務器端隨機生成驗證碼字符串,保存在內存中,並寫入圖片,發送給瀏覽器端顯示,瀏覽器端輸入驗證碼圖片上字符,然後提交服務器端,提交的字符和服務器端保存的該字符比較是否一致。一致就繼續,否則返回提示。攻擊者編寫的robot程序,很難識別驗證碼字符,順利的完成自動註冊,登錄。。。。。。。。。而用戶可以識別填寫,所以這就實現了阻擋攻擊的作用。而圖片的字符識別,就是看圖片上的干擾強度了。就實際的效果來說,驗證碼只是增加攻擊者的難度,而不可能完全的防止。
1,論壇中的驗證碼的作用
目前,不少網站為了防止用戶利用機械人自動註冊、登錄、灌水,都採用了驗證碼技術。所謂驗證碼,就是將一串隨機產生的數字或符號,生成一幅圖片,圖片里加上一些干擾象素(防止OCR),由用戶肉眼識別其中的驗證碼信息,輸入表單提交網站驗證,驗證成功後才能使用某項功能。
因為你的WEB站有時會碰到客戶機惡意攻擊,其中一種很常見的攻擊手段就是身份欺騙它通過在客戶端腳本寫入一些代碼,然後利用其客戶機在網站論壇反覆登陸,或者攻擊者創建一個HTML窗體,其窗體如果包含了你註冊窗體或發帖窗體等相同的字段,然後利用”http-post”傳輸數據到服務器,服務器會執行相應的創建帳戶,提交垃圾數據等操作,如果服務器本身不能有效驗證並拒絕此非法操作,它會很嚴重耗費其系統資源,降低網站性能甚至使程序崩潰.
而現在流行的判斷訪問WEB程序是合法用戶還是惡意操作的方式,就是採用 一種叫 “字符校驗”的技術.WEB網站像現在的動網論壇,他採用達到方法是為客戶提供一個包含隨即字符串的圖片,用戶必須讀取這些字符串,然後隨 登陸窗體或者發帖窗體等用戶創建的窗體一起提交.因為人的話,可以很容易讀出圖片中的數字,但如果是一段客戶端攻擊代碼,通過一般手段是很難識別驗證碼的.這樣可以確保當前訪問是來自一個人而非機器.
編程實現原理:使用某種動態編程語言,比如PHP,ASP,隨即生成一個隨機數,大多為4位數字和字母,或者是數字和字母的組合,生成以後,用GD庫的支持生成一張根據隨機數來確定的圖片,把隨機數寫入到session中,傳遞到要驗證的頁面,生成的圖片顯示給登陸着,並要求登陸者輸入該隨機數內容,提交到驗證頁面,驗證session的內容和提交的內容是否一致,這就是大致的思路!那麼怎麼編寫驗證碼程序呢,相信Google一下,就有很多現成的代碼。
2,申請QQ號時候驗證碼的作用
如今你要申請一個QQ號,需要輸入很複雜的驗證碼:驗證碼由若干個漢字組成,還加上了花哩唬哨的背景,使得有些漢字實在難以辨認。騰訊這麼做,是為了防止有人利用軟件批量獲取QQ號碼—-每次提交都要輸入隨機生成的驗證碼,這是軟件難以做到的。
三.圖片驗證碼技術之一:利用Xbm格式圖片
生成驗證代碼的技術有很多,這裡只說與我們論壇有關係的這項技術。
x-xbitmap格式的圖片(以下簡稱為Xbm格式)特殊,就在於它並不跟gif,jpg等圖片格式一樣,是一個真正的純2進制圖片格式,而是ascii碼文件–換句話說,它是一個純文本文件,在Windows系統下,系統瀏覽器將它翻譯成圖片來進行顯示。
下面讓我們先來製作一個Xbm圖形格式圖片:
新建一個文本文件,將以下內容複製進去:
#define counter_width 48
#define counter_height 9
static unsigned charcounter_bits[]={ff,3c,7c,3c,70,3c,fe,7c,fe,7c,78,7c,ee,ee,ee,ee,7c,ee,e0,ee,60,ee,74,ee,70,fe,30,
fe,70,fe,38,ec,e0,ec,70,ec,1c,e0,ee,e0,70,e0,fe,7e,fe,7e,70,7e,fe,3c,7c,3c,70,3c}
然後,將此文本文件保存為名字為 test.Xbm的文件。
接下來,讓我們看看如果在ie中打開它,會出現什麼情形??(新開一個ie,然後將test.Xbm直接拖拽到它上面),哈,出現了如下圖一樣的情景,在瀏覽器中出來的,已經不是我們的文本,而是一個黑白的圖片了!
讓我們看看上面那代碼中,每一行的意義:
#define counter_width 48 這裡定義了圖片的寬度,一般都設置為8的整數倍,因為我們想顯示的是6個數字,所以就設置成了8*6=48的寬度
#define counter_height 9 這裡設置了圖片的高度,可以任意設置,但是注意,這裡的數字直接決定了下面的數組中,是用幾組數來表示一個顯示出的數字
static unsigned char counter_bits[]={7c,3c,7c,3c,70,3c,fe,7c,fe,7c,78,7c,ee,ee,ee,ee,7c,ee,e0,ee,60,ee,74,ee,70,fe,30,
fe,70,fe,38,ec,e0,ec,70,ec,1c,e0,ee,e0,70,e0,fe,7e,fe,7e,70,7e,fe,3c,7c,3c,70,3c}
在這裡,是圖片用來顯示內容的十六進制的代碼,在這裡,是9*6=54個數字來表示,值得一提的是,由於在圖片顯示中,是顯示完了一行後,再顯示第2行,直到最後一行,因此更為準確的描述是6*9顯示,每6個數表示一行(因為我們顯示了6個數字),一共9行(我們的定義中,是採用的高度為9的數組)
正如static unsigned char英文意思為靜態的,無符號的,燒焦的。它只能用來顯示黑白兩種顏色。二進制中的1將來用顯示為黑色,0為白色。
因此,上面的7c、3c這樣的數字,就是一個256位的2進制,其中的1表示黑色,0表示白色,由此繪製出每個數字的圖形。
由於Xbm文件的性質決定,它只能顯示黑/白兩種顏色,而且以數組的方式來表現每個要顯示的圖形,註定了不能用它生成太複雜的圖案。那麼,這樣的圖片格式到底有什麼用呢??當然有的,不少asp論壇/聊天室的登陸驗證碼,就是用這樣的方法在asp中動態生成的。
四.為什麼要打補丁才能正常顯示呢?
在WindowsXP SP2更改後的安全策略中,因為基於安全因素的考慮,默認去掉了對 image/x-xbitmap 圖片格式的支持(該圖片的後綴名為Xbm)。,為什麼微軟在XP的SP2升級包中又要禁止掉它呢??這是因為Xbm的漏洞。
Microsoft Internet EXPlorer和Outlook EXPress在處理WEB頁,HTML郵件,EMAIL附件中畸形Xbm圖象文件會導致崩潰,問題存在於對Xbm文件中的內容缺少檢查,MSIE按照圖象規定的長度和寬度分配內存,攻擊者可以提高超大的長度和寬度數值導致系統消耗內存或者訪問衝突。
換句話說,如果構造一個長寬的尺寸特別大的Xbm文件,很容易導致Windows的內存耗盡,導致程序無響應或者死機。本身來說,這不算一個特別嚴重的漏洞,因為根據安全公告,無法造成溢出,不會存在太大的權限漏洞。但是由於XP的SP2強調安全性,因此將Xbm功能禁用了。從這點上可以看出,SP2對於安全的確比較重視,將有漏洞的功能基本上都補上或禁用了,作為網絡管理員,我對微軟的做法表示支持,因為操作系統默認設置的不安全,常常是造成非專業用戶被攻擊的首要因素。
解禁方法:
由此看出,以後我們訪問某些採用生成Xbm作為驗證代碼的站點的時候,就相當不方便了,如果有必要,可以通過簡單的操作註冊表恢復我們需要的功能。
打開註冊表(開始---運行---regedit----回車),然後進到鍵值[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet EXPlorer\Security]
將blockXbm的值改為00000000(dword,雙位元組),沒有的話新建立一個就可以了。
之後重新IE或者重新啟動機器,則Xbm格式的圖片就可以看到了。
五,Xbm的趨勢
從SP2禁止Xbm的趨勢看出,微軟打算似乎已經開始打算放棄對Xbm格式的支持了。那麼,作為程序編寫者,有必要未雨綢繆,尋找其他生成驗證碼的途徑。在php中,可以通過調用gd庫等方式生成jpg/gif等圖形格式的註冊驗證碼,那麼在asp中有其他的辦法么?
事實上圖片驗證密碼的關鍵是–不能在客戶端留下圖片的真實url,或可對應反推源地址的信息,因此asp可以採用以下2種方式實現支持SP2的圖形驗證碼。
如果是購買的虛擬主機,那麼可以採用將jpg/gif圖片放到數據庫,然後用session傳值的方式,最後利用asp直接從數據庫中輸出圖片,這方法的好處是不需要特別設置服務器端,壞處則是每次生成驗證圖片時都會需要與數據庫連接,增加了開銷。
如果是有管理員控制權限的用戶,可以考慮採用第三方組件來實現。天緣個人推薦 ASP圖象組件shotgraph ,它的免費版本對生成的圖形有一定限制,不過已經足夠用來製作驗證碼了。
phpwind和discuz哪個好
discuz!(簡稱dz)和phpwind(簡稱pw)是國內最著名的兩個PHP論壇系統,隨着它們相繼宣布開源以後,在各方面,不管技術上,還是功能上,還是界面上,都有了長足的發展,聲威大振,遠非國外那些功能簡單的電子公告板系統可比了。其造成的一個副作用是大大帶動了PHP在國內的普及(本人就是在尋找合適的論壇程序的時候,才開始關注PHP,進而不能自拔的 )。
客觀的說,目前的pw和dz各有短長,其互相之間的激烈競爭應該說提高了PHP論壇的水平,在功能上不僅趕上了以功能多和漏洞多而著稱的動網論壇,而且因為它們的效率和速度遠遠超過動網,弄的動網市場大大萎縮,原來的一些動網論壇都紛紛轉換成了dz或者pw,搞的動網都不得不開始弄PHP論壇了。
要說他們哪個更好,是比較難的事情,畢竟各有短長,俺也不敢在這裡妄下結論。不過從市場份額和網上的言論來看,目前dz還是略佔上風的,而且去年國內好幾個知名的大論壇都轉換成了dz(比如鳳凰網、牧文、tompda等),而pw在大網站方面收穫甚小。
但是畢竟對好多新手來說,他們都要面臨一個選擇論壇程序的問題,因此,dz和pw哪個更好,也就成了經常被問的問題,這種沒有答案的問題,自然要被反覆問起。本文試圖從比較深的層次來分析兩個論壇的優劣,為新手提供選擇的參考。如有錯謬之處,歡迎批評指正。
一、界面篇
首先,從界面上說,從整體上說,dz的界面比較美觀,整體感好。
pw的界面給人一種模仿dz的感覺。同時在界面的細節上,看起來pw還是沒有dz完美。
二、技術篇
從技術上說,pw和dz都使用了文件方式的數據緩存技術,通過把常用的數據表,比如論壇版面設置參數、基本參數等,生成靜態緩存文件(根據條件觸發更新或者手動更新),來減少數據庫讀取次數,提高效率,在這個方面兩者非常相似。
1、模版技術
從模版技術上說,dz從2.5f版就開始採用的這種靜態模版技術,從俺個人角度上說,還是非常適合論壇這種頻繁更新的網站程序使用的。它通過動態生成靜態模版的方式,解決了模版解析效率的問題。
同時,dz的這種模版方式,使得修改界面也比較容易,很直觀。
而pw使用echo語句的這種方式(姑且稱其為模版),就寒磣多了,要增加了一個if判斷條件,就要折騰半天。添加了混合PHP代碼的模板,在 dreamweaver中也容易被誤操作刪除。特別是如果修改的時候稍有不慎,很可能會使網頁成了白板(沒有輸出),讓俺每次修改pw模版無不如履薄冰,戰戰兢兢。。。。恐怕這也是第三方模版中,dz遠遠多於pw的原因吧。
不過pw目前在模版上也在改進,現在看verycms 3.0就已經開始使用真正的模版技術,不過目前用的都還比較初級。。。
2、速度問題
從模版上看,兩者的效率應該是差不多的,pw的模版其實就是直接包含的混合了PHP語句的一部分PHP文件,而dz的模版平時並不需要解析,所以效率應該是差不多的,但是網上總是有人聲稱網站使用dz的速度比pw慢,這方面本人沒有測試過,不敢妄作評論。而且網站訪問速度還是要受很多因素的影響,比如:本地網速、服務器帶寬、心理。。。。。客觀的評價還是很難的,除非使用專業技術手段。不過從官方網站的速度來看,明顯還是pw佔優啊,呵呵
最近看了一下dz的CSS文件,明顯是用CSS用的有點過度了,在dz中大量使用了CSS,CSS文件高達16KB左右(pw只有2KB左右),可能造成了IE渲染網頁的時候,效率比較低。同時,由於dz的CSS文件過於龐大,只好採用了外置的方式(Link)。
這樣如果網速很慢,網頁已經或者部分下載完,而CSS文件下載沒完成(網速慢的時候,常常發生這種情況),那麼網頁根本就不能正常顯示。
在網速慢的時候,光dz的CSS文件,就要用好幾秒,甚至十幾秒的時間才能下載,而整個網頁只能在CSS下載完成以後才能進行正確的顯示,這就無怪乎在網速慢的時候,dz表現大大遜色於pw了。
相反,pw在設計CSS的時候,明顯是比較簡潔,這對網頁的渲染肯定是比較有利。同時,pw採用了把CSS文件嵌入的方式,儘管每次訪問網頁都造成了幾K 個位元組的流量,但是實際影響並不大,反而覺得網頁打開速度比dz要快(這就是pw用了一個笨法子,卻常常效果比dz強的典型案例)。
這方面,建議dz痛下決心簡化過分臃腫的CSS文件,提高網頁速度。
三、功能篇
下面俺就dz5.5和pw5.3的功能,做一個簡單的,本人看來是比較深入,可能高手看來仍嫌淺顯的分析,請大家指正:
1、登錄方式:
pw的前台登錄和後台登錄採用了不同的Cookie方式,這樣前後台分開的方式,個人感覺,有利於安全,也便於管理。後台帳號與前台帳號可以徹底分開。
而dz的前後台登錄是用了一個帳號,儘管在進入後台的時候再次提示輸入密碼,不過還是不如pw方便。
比較特別的是,dz在註冊的時候,要求輸入提示問題(選填),而且在登錄界面中,也有提示輸入的界面,個人感覺,絕對的畫蛇添足,無聊。如果說使用提示問題來找回密碼,還是有點道理的。用提示問題的方式,讓新手看了無所適從,腦袋都暈了
2、分欄顯示:
pw從5.0.1開始支持左右分欄顯示了,然而功能太簡單,不能樹狀顯示子板塊,此功能與其說有,不如說沒有,弄的有點搞笑,屬於半成品(倒是也符合pw的一貫特點--喜歡推出一些不完美的東西讓大家修改)。
看了dz5.5的分欄顯示,做的還是比較完美的,感覺相當不錯了。
3、後台管理的效率:
pw的橫向操作非常不錯,大大節省了管理的難度,特別是在根據用戶組設置權限的時候,非常的那個方便啊,這方面dz需要改進。
dz提供了一個方案的方式來解決後台重複操作問題,應該說也有一定道理,但是用起來不太容易上手,如果是設置一個單獨的項目,就比較繁瑣。
4、個人空間(文集)功能:
dz5.5內置了minispace個人空間功能,可以說自從discuz合併了supsite以後,在論壇功能的外展方面,佔據了很大優勢,吸引了很多個人網站的注意力。
這個minispace用dz官方的話說,是這樣的:
「完全利用論壇原有資源,會員不必更多付出,即可擁有個性展示頁面
與 X-Space 完美結合,可順暢實現 MiniSpace 與 X-Space 自然過渡 」
大體看了一下,發現這個minispace做的很不錯,利用它,用戶可以把自己的優秀帖子整理出來,形成一個文集的方式,方便別人訪問。以前在別的論壇見過這個功能,覺得很不錯,沒想到dz把它整合進去了。這個功能已經可以滿足大部分論壇的功能要求了,如果要求更高,比如希望能讓用戶發佈b0客文章,按照官方的說法,也可以遷移到X-space中去。但更重要的是,minispace是開源的,而X-space的源代碼並不開放。
說到X-space,我們覺得,pw在功能上雖然足以和dz匹敵,但是在論壇的外延上,卻比dz落後了好多。X-space能實現以論壇為中心的個人空間功能,而pwblog(已經改名為Lxblog,正式版未推出,本文僅以5.1.5版本為例)卻和論壇貌合神離,帖子推送功能雖然從4.3.2就有了,然而卻一直不好用,4.x推送以後,圖片和附件都不正常,5.1.5雖然可以推送正常了,然而在論壇中更新的帖子,在b0客中卻不再出現回帖,可以說推送功能在pwblog中只是一個無用的點綴而已。
說到底,我們常常希望的只是一個論壇帖子文集功能的方式,pwblog把論壇中的內容重複推送到b0客中,既浪費空間,又沒有意義,這方面dz遠遠勝過了 pw,值得表揚。但minispace的功能還是略顯簡單了些,比如沒有文集帖子的分類功能、沒有首頁推薦帖子等等(也許論壇帖子的分類意義不大,不過有總比沒有強吧?)
5、防灌水技術
pw5.3終於接受了俺提出的新手註冊第N貼以前發帖使用驗證碼的方式,這樣既不影響老用戶的使用,又通過驗證碼方式來限制惡意灌水機械人。dz未提供此功能,但是具有可以設定第N貼以後不用自定義問答的功能(dz的驗證碼很爛,根本看不清,用自定義問答似乎更好一些)。
在防止自動註冊方面,pw和dz都使用了自定義問答方式防止自動註冊的辦法,具體原理很簡單,兩者實現的都差不多。區別在於,dz要求設置10個以上的問題才能生效,而pw只能設置一個問題。另外,還有一個區別,就是pw可以自定義問答中內部使用的form變量名,可能在防止惡意自動註冊方面,會更加有效一些。pw的自定義問題只能用於註冊,而dz的可以用在註冊、發帖和短消息等方面。
從目前的具體應用來看,用一個問題就基本上解決了自動註冊的問題(長時間實踐發現的結果),當然也不排除特大型網站,用一個問題容易被攻破的可能性,這方面dz可能就更有效一些。只是dz限制要求10個以上才能生效的做法,令人費解。
6、前台管理功能
pw具備副版主功能,不過和一般的思路不同,副版主是由版主任命的,這樣恐怕會導致權限混亂問題,所以也很少有人用這個功能。
在前台的管理功能中,pw更方便一些,不僅的主題列表中能進行管理,在帖子內容頁面中的管理方式比dz用下拉方式更直觀一些。而且在一個主題裏面刪除帖子,pw比dz直觀多了。
費解的是,pw5.3版本中移動帖子,都會在帖子前面加入移動提示「本帖被 xxxx 從 xxxx 移動到本區(xxxx年xx月xx日) 」,無法消除,真是難看極了(以前版本沒有這個毛病)
dz實現了「沉貼」的功能,可以把那些偶爾被人翻上來的無用垃圾貼沉下去,確實方便多了。。。。有次俺在pw中為了沉一個帖子,不得不提前了N個帖子。而且dz的版主管理功能,加亮、精華等操作都能一氣呵成,比pw方便好多。
7、所見即所得編輯器
dz5.5和pw5.3開始,不約而同的把所見即所得編輯器換成了ubbcode(兩個論壇名稱不一樣,這裡用個通俗一點的名稱,暫稱為UBBCode)方式的編輯器,而放棄了原來的HTML可視化編輯器。
說起來,這個ubbcode可視化編輯器確實解決了以前採用代碼方式,無法可視化,導致好多非IT人士發帖無法控制格式;而和動網一樣使用HTML方式,又產生大量冗餘代碼和安全性隱患的問題。
不過造成的後果卻是,在轉貼的時候,以前可以直接從別人的網頁上,連圖片帶文字一起轉過來,卻是非常方便,雖然有盜鏈之嫌。換成了這種編輯器,再也沒法那麼方便了,因此在換了編輯器以後,官方論壇中是怨聲載道一片。。。。而且新的編輯器還有好多小BUG,更加是引起了廣泛不滿(另註:用了一段DZ後發現,dz 5.3的所見即所得編輯器好像存在很多問題,幾乎無法用,這方面可能還不如pw的編輯器好用一些)
8、附件上傳和所見即所得功能:
pw的附件還是只能提交帖子上傳以後才能進行圖文混排,這方面dz要好的多,可以上傳前就進行混排,方便多了
dz對不參與上傳的圖片附件還是顯示太多信息,看起來影響美觀(似乎是受vbb和phpbb的影響比較大)。而pw只是顯示了「圖片」字樣和描述信息,但是更噁心的是,卻把這些圖片放到正文文字上方 ,真是屢教不改啊
9、附件防盜鏈技術的分析:
dz採用了隱藏圖片地址,和檢測訪問來源(可選)的辦法來防盜鏈,應該說服務器負擔比較大,效果還行,但不能徹底解決問題。
pw用的辦法更簡單,但更有效一些:就是定期或者自動修改附件目錄名,應該說這是一個投資少見效快的好辦法,技術上也很簡單。不過最新的pw5.3版本也引入了隱藏附件地址的方式,後台也似乎無法關閉此項功能,似乎有點畫蛇添足的味道了。。。。
發現dz也可以在後台手工修改附件目錄,也可以起到一定效果,只是沒有自動修改的功能。
10、廣告功能:
dz比pw要好一些,廣告功能更完善一些。比如貼內廣告,在帖子下面的位置類似動網的位置,看起來更整齊一些,而pw的位置就讓帖子布局顯得比較凌亂,不好看。dz的貼間廣告可以插入大的Google Banner廣告,或者其它圖片形式的廣告,展示效果很好。
相比dz,pw廣告的插入位置更少一些,效果也差一些。
11、頭像顯示:
dz不能限制上傳頭像的長寬尺寸,只能限制總像素數,顯得不夠靈活,不如pw方便。而且超出了一定尺寸的頭像,被自動縮放和拉伸了,看起來很難看。而且 dz還自動給頭像加了一個邊框,甚是噁心。可見dz把簡單的事情給弄複雜化了,其實只要和pw一樣,限制其尺寸,根本不需要拉伸。
12、附件尺寸限制:
pw只能設定所有附件的尺寸,而dz可以對個別格式的附件設定上傳尺寸,比較靈活一些,特別適合一些flash網站,或者技術型網站(比如上傳大尺寸圖紙等)。
13、詞語過濾:
pw只能使用普通方式過濾,不支持大小寫(很簡單的事情,官方就是不辦,舉手之勞啊)。
而dz不僅能識別大小寫,而且具有了一定的模糊識別功能,相當不錯了。當然,要是能直接支持正則表達式就更爽了。
14、自定義代碼功能:
pw至今不支持自定義wincode代碼,比較僵化。要增加功能,就只能修改js文件,太過麻煩。。。。
dz在這方面做的比較完美,要增加或者減少代碼、修改播放界面尺寸都很容易,在後台設置一下就可以了
15、回收站功能:
dz可以設定自動清理,而pw不能
16、IP來源顯示功能:
dz的IP地址和來源顯示類似動網,看起來不太方便,需要點擊小電腦圖標才行。還是pw的IP地址來源顯示看起來比較舒服一些。
17、防CC攻擊:
pw早在4.3.2就增加了抗CC攻擊功能,而且設置起來比較簡單,新手也能看懂。當初俺就是因為這個原因才用了pw。
dz5.5雖然號稱帶有cc攻擊防護,不過看起來比較難於理解,在後台找了半天也沒找到,估計新手是操作不了的。當年某著名站長論壇(用dz)可就是被CC攻擊搞的長期開不了張的,看起來dz的防CC攻擊功能還有待改進。
18、備份功能
pw能支持對pw程序以外的數據表進行備份,而且判斷標準不是根據表前綴。可以單獨備份pw表以外的數據表,對於那些建立了新表的插件,備份數據超級容易,這方面比較人性化。
dz只是根據表前綴來進行備份,比如你設置一個表,叫做cdb_test,那麼它會把它認為是論壇數據表而進行備份。但是如果你設置一個表,叫做test,那就自己想辦法去吧。。。。
但是dz比pw強的是,備份可以壓縮,壓縮後下載和轉存備份文件應該會節省巨大的空間和時間,對於超大型論壇應該是非常管用的。dz備份可以指定文件名,而且備份數據用十六進制表示(安全一些,但是佔用空間會大一些),估計導入和恢復的中文內碼問題就不會存在了。
另外,dz還可以備份MySQL Dump備份(不推薦使用)。
19、文件和數據庫校驗:
dz內置了文件和數據庫校驗的功能,pw只是官方提供了一個文件校驗工具,不過用起來有點莫明其妙,有時候提示使用的函數在php文件中根本不存在
20、主題推薦和相關貼功能:
dz通過qihoo實現了相關貼的功能,而且還可以支持主題推薦,這方面比pw強了很多。
21、模版和風格設置
phpwind可以在後台設置風格CSS文件,雖然新手不太容易上手,但確實還是比較方便的。
dz更進一步,把css的內容給解釋成了表單的形式,讓新手也能操作,不過帶來的缺點更加大了:如果你想在CSS中增加控制(比如調整行間距等),就不知道該怎麼弄了,只好去修改模版。好在dz還提供了一個附加功能:在後台可以直接修改模版,而且編輯界面中還帶搜索功能,總算是亡羊補牢了
dz以較大優勢在功能上超過pw,而且在dz有些勝過pw的功能上,好多都是以較大優勢取勝。
四、總結
總體來說,dz在功能上,界面上,技術上,論壇功能外延上,都勝過了pw。但pw也並非一無是處,其抗CC攻擊功能,簡潔快速的界面,強大的管理功能,獨到的防盜鏈技術,都很有特色。所謂仁者見仁,智者見智,選擇pw還是dz,仍然是一個個性化的問題,具體取決於你對他們的某項特點是否看重。
另外,感覺dz在瀏覽器兼容性上有點小問題,有時候會出現提示,什麼從來路不明的什麼東西提交信息,檢查norton internet security配置之類的煩人問題,而且dz的驗證碼太噁心,根本看不明白,都趕上動網的爛驗證碼了,基本上沒法用,只好關掉算完。
需要說明的是,如果是新手,需要選擇論壇,還是建議選擇dz,因為功能比較多,論壇的外延開發的比較好(supsite/X-space做的很不錯),用起來方便一些,而且模版修改起來比較簡單,容易上手。
pw只是適合老手,和對論壇外延功能不太感興趣的那些人使用,而且pw的模版修改起來相當困難,稍有不慎就容易出錯,對新手不合適。
PW適合娛樂站,速度快,功能多,官方集成各種插件,幾乎不用維護
pw現有的功能=dz+銀行+多附件上傳+在線會員統計+特殊用戶組添加+節日送禮
個人認為phpwind比較方便些,對於那些不想花時間裝插件的人來說上手更容易
驗證碼是幹什麼用的
驗證碼:就是將一串隨機產生的數字或符號,生成一幅圖片, 圖片里加上一些干擾象素(防止OCR),由用戶肉眼識別其中的驗證碼信息,輸入表單提交網站驗證,驗證成功後才能使用某項功能。
作用:
驗證碼一般是防止有人利用機械人自動批量註冊、對特定的註冊用戶用特定程序暴力破解方式進行不斷的登陸、灌水。因為驗證碼是一個混合了數字或符號的圖片,人眼看起來都費勁,機器識別起來就更困難。像百度貼吧未登錄發貼要輸入驗證碼大概是防止大規模匿名回帖的發生。 一般註冊用戶ID的地方以及各大論壇都要要輸入驗證碼
常見的驗證碼
1四位數字,隨機的一數字字符串,最原始的驗證碼,驗證作用幾乎為零。
2CSDN網站用戶登錄用的是GIF格式,目前常用的隨機數字圖片驗證碼。圖片上的字符比較中規中矩,驗證作用比上一個好。沒有基本圖形圖像學知識的人,不可破!可惜讀取它的程序,在CSDN使用它的第一天,好像就在論壇里發佈了,真是可憐!
3QQ網站用戶登錄用的是PNG格式,圖片用的隨機數字+隨機大寫英文字母,整個構圖有點張揚,每刷新一次,每個字符還會變位置呢!有時候出來的圖片,人眼都識別不了,厲害啊…
4MS的hotmail申請時候的是BMP格式, 隨機數字+隨機大寫英文字母+隨機干擾像素+隨機位置。
5Google的Gmail註冊時候的是JPG格式,隨機英文字母+隨機顏色+隨機位置+隨機長度。
6其他各大論壇的是XBM格式,內容隨機。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/250924.html