非常不錯(cuò)的WAP常見(jiàn)問(wèn)題問(wèn)答大全(二)第3/3頁(yè)
更新時(shí)間:2007年03月14日 00:00:00 作者:
30. WML頁(yè)面的最大大小是多少?
1397 bytes/deck
31. WML頁(yè)面的限制是多少?
由于WAP設(shè)備只有很少的內(nèi)存,因此就存在著一個(gè)最大的WML deck的界限。這里沒(méi)有一個(gè)絕對(duì)的標(biāo)準(zhǔn),根據(jù)瀏覽器的不同而不同。表10-5列出了幾種瀏覽器的限制。
注意WML deck的大小是指編碼壓縮成二進(jìn)制格式下的大小,一個(gè)沒(méi)有壓縮的WML deck可能很大,但是壓縮后可能比較小。
表10-5 不同瀏覽器的限制
瀏覽器 壓縮后的WML大小限制
UP.Browser 3.2 1492 bytes
UP.Browser 4.x 2048 bytes
Ericsson R320 大約3000 bytes
Ericsson R380 大約3500 bytes
Ericsson MC218 多于8000 bytes
Nokia 7110 1397 bytes
32. 如何防止對(duì)WML頁(yè)面的非法訪問(wèn)?
WAP可以防止通過(guò)HTTP協(xié)議對(duì)文件和目錄的非法操作。注意:有些WAP模擬器和虛擬的WAP瀏覽器可能不支持這個(gè)特點(diǎn)。在這個(gè)時(shí)候是不知道是否有可能使用其他類型的驗(yàn)證方式。
為了使用這種方式,用戶的HTTP服務(wù)器必須支持這個(gè)特點(diǎn),其實(shí)大多數(shù)服務(wù)器都支持。當(dāng)一個(gè)WAP瀏覽器請(qǐng)求一個(gè)URL,它將提醒用戶輸入用戶名和密碼。這些都轉(zhuǎn)換成無(wú)法直接閱讀的字符,但不是加密。也就是說(shuō)如果網(wǎng)絡(luò)上有人在使用合適的設(shè)備監(jiān)聽(tīng),那么用戶名和密碼將被泄露。
這個(gè)特點(diǎn)在Apache文檔中有詳細(xì)的說(shuō)明,但是文檔的描述很弱,這里有如何在Apache HTTP服務(wù)器上配置的說(shuō)明:
要保證Apache已經(jīng)配置過(guò),使得一個(gè)名叫.htaccess的文件可以覆蓋全局的操作配置。操作配置既可以在每個(gè)目錄使用分離的文件,也可以在全局的access.conf中。但是在這個(gè)例子中,我們將集中在.htaccess文件上。并且檢查AllowOverride的設(shè)置。這個(gè)必須設(shè)置到AuthConfig,那樣意味著Apache在目錄中尋找.htaccess文件,并且使用該文件中的規(guī)則。記住在配置后要重新啟動(dòng)Apache服務(wù)器。
下一步是在目錄里放置需要保護(hù)的文件叫做.htaccess。(注意點(diǎn)代表文件名的開(kāi)頭)。一個(gè).htaccess文件的基本內(nèi)容如下:
AuthType Basic
AuthName "WAP FAQ Authentication Demo"
AuthUserFile /home/httpd/html/wap-faq/extras/auth/auth.passwd
require valid-user
AuthType設(shè)置是指定驗(yàn)證的類型,AuthName指定領(lǐng)域,AuthUserFile指定口令文件的位置,require指定所想得到的操作。在這個(gè)例子中,任何在口令文件中的用戶都有一個(gè)正確的口令。
現(xiàn)在需要產(chǎn)生一個(gè)口令文件,Apache使用一個(gè)叫做 .htpasswd來(lái)完成這個(gè)特殊格式文件的生成。運(yùn)行程序如下:
#htpasswd /home/httpd/html/wap-faq/extras/auth/auth.passwd demo
New password:
Re-type password:
Adding password for user demo
注意:在第一次創(chuàng)建文件的時(shí)候,必須使用“-c”選項(xiàng)。
現(xiàn)在加入了一個(gè)叫做“demo”的用戶,并且輸入了他的密碼兩次。考慮到安全的原因,口令文件不應(yīng)該放在文件根目錄下。筆者在這里只是做演示。
現(xiàn)在最后就是測(cè)試,筆者建議使用HTML瀏覽器。輸入含有想保護(hù)的URL目錄的地址,一個(gè)對(duì)話框就會(huì)彈出來(lái)詢問(wèn)用戶名和口令。如果一切順利,就可以使用WAP瀏覽器來(lái)測(cè)試了。
一個(gè)目錄保護(hù)的例子在這個(gè)服務(wù)器上,用戶名是demo,口令是demo。可以使用HTML或者WML瀏覽器來(lái)做測(cè)試。
這個(gè)例子同樣可以通過(guò)輸入http://wap.colorline.no/demos.html來(lái)得到。
或者只要點(diǎn)到保護(hù)的區(qū)域:
http://wap.colorline.no/wap-faq/extras/auth/
或者查看.htaccess文件。
最后點(diǎn)擊查看口令文件的內(nèi)容。
33. 怎么使用非拉丁字符?
在文件開(kāi)頭加上:
encoding="ISO-8859-1"?
或者:
encoding="UTF-8"?
ISO-8859-1和UTF-8編碼支持更多的字符。
34. 一些特殊字符破壞了代碼和連接該怎么辦?
錨/鏈接有時(shí)候包含了一些字母和數(shù)字之外的字符。典型的如:“~”(波浪號(hào))和“&”(與號(hào))。如果根據(jù)書(shū)編程,就應(yīng)該告訴WAP瀏覽器使用的是什么字符集。這個(gè)在XML定義中可以完成:
<?xml version="1.0" encoding="iso-8859-1"?>
“iso-8859-1”是Latin字符集。這個(gè)應(yīng)該在大多數(shù)場(chǎng)合下能滿足需要。但是,還是需要對(duì)那些轉(zhuǎn)義字符進(jìn)行轉(zhuǎn)義。即使指定了字符集,也是沒(méi)有用處的。
字符實(shí)體是某些特殊字符的標(biāo)準(zhǔn)名字,例如:“&”就是“&”。
大多數(shù)瀏覽器在反編碼名字實(shí)體的時(shí)候會(huì)出現(xiàn)問(wèn)題,例如Nokia列出了7個(gè)兼容的名字實(shí)體:“quot”、“amp”、“apos”、“l(fā)t”、“gt”、“nbsp”和“shy”。只有在使用它們的十進(jìn)制代碼的時(shí)候(在上述所說(shuō)的Link中),瀏覽器可以顯示幾乎所有字符。如果Nokia的瀏覽器接收到無(wú)法支持的實(shí)體名,它就會(huì)崩潰。
通過(guò)使用HTML或者WML瀏覽器(在HTML格式下,雖然不是很好),可以操作在線的實(shí)體名列表,該列表在http://wap.colorline.no/wap-faq/apps/charentref.html。
這個(gè)表同樣有一個(gè)例子在:http://wap.colorline.no/demos.html。
第一步,選擇將要使用的字符集,Latin1,Latin1 Mathematical和Greek symbols,最后是Latin1 Markup symbols。注意到列表被分割了,是由于deck的限制。真正的列表顯示了實(shí)體名,實(shí)體的十進(jìn)制值和真正的符號(hào)。從這里就可以看到哪個(gè)字符瀏覽器可以顯示。
注意上面的在線列表,不要設(shè)置為“charset=iso-8859-1”(真正的Latin1),那是個(gè)XML定義。
35. 可能在WML頁(yè)面上顯示一個(gè)可選的Link嗎?當(dāng)用戶選擇后就可以直接撥號(hào)?
現(xiàn)在不行。但是一旦支持WTAI的設(shè)備出現(xiàn),那么就可能實(shí)現(xiàn)。
相關(guān)文章
WAP建站W(wǎng)ML語(yǔ)言語(yǔ)法基礎(chǔ)教程
WAP建站W(wǎng)ML語(yǔ)言語(yǔ)法基礎(chǔ)教程...2007-03-03WML開(kāi)發(fā)教程之 WAP網(wǎng)站服務(wù)器配置方法
WML開(kāi)發(fā)教程之 WAP網(wǎng)站服務(wù)器配置方法...2007-03-03無(wú)線標(biāo)記語(yǔ)言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)
無(wú)線標(biāo)記語(yǔ)言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)...2007-03-03非常不錯(cuò)的WAP常見(jiàn)問(wèn)題問(wèn)答大全(二)
非常不錯(cuò)的WAP常見(jiàn)問(wèn)題問(wèn)答大全(二)...2007-03-03