30. wml页面的最大大小是多少?
1397 bytes/deck
31. wml页面的限制是多少?
由于wap设备只有很少的内存,因此就存在着一个最大的wml deck的界限。这里没有一个绝对的标准,根据浏览器的不同而不同。表10-5列出了几种浏览器的限制。
注意wml deck的大小是指编码压缩成二进制格式下的大小,一个没有压缩的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. 如何防止对wml页面的非法访问?
wap可以防止通过http协议对文件和目录的非法操作。注意:有些wap模拟器和虚拟的wap浏览器可能不支持这个特点。在这个时候是不知道是否有可能使用其他类型的验证方式。
为了使用这种方式,用户的http服务器必须支持这个特点,其实大多数服务器都支持。当一个wap浏览器请求一个url,它将提醒用户输入用户名和密码。这些都转换成无法直接阅读的字符,但不是加密。也就是说如果网络上有人在使用合适的设备监听,那么用户名和密码将被泄露。
这个特点在apache文档中有详细的说明,但是文档的描述很弱,这里有如何在apache http服务器上配置的说明:
要保证apache已经配置过,使得一个名叫.htaccess的文件可以覆盖全局的操作配置。操作配置既可以在每个目录使用分离的文件,也可以在全局的access.conf中。但是在这个例子中,我们将集中在.htaccess文件上。并且检查allowoverride的设置。这个必须设置到authconfig,那样意味着apache在目录中寻找.htaccess文件,并且使用该文件中的规则。记住在配置后要重新启动apache服务器。
下一步是在目录里放置需要保护的文件叫做.htaccess。(注意点代表文件名的开头)。一个.htaccess文件的基本内容如下:
authtype basic
authname "wap faq authentication demo"
authuserfile /home/httpd/html/wap-faq/extras/auth/auth.passwd
require valid-user
authtype设置是指定验证的类型,authname指定领域,authuserfile指定口令文件的位置,require指定所想得到的操作。在这个例子中,任何在口令文件中的用户都有一个正确的口令。
现在需要产生一个口令文件,apache使用一个叫做 .htpasswd来完成这个特殊格式文件的生成。运行程序如下:
#htpasswd /home/httpd/html/wap-faq/extras/auth/auth.passwd demo
new password:
re-type password:
adding password for user demo
注意:在第一次创建文件的时候,必须使用“-c”选项。
现在加入了一个叫做“demo”的用户,并且输入了他的密码两次。考虑到安全的原因,口令文件不应该放在文件根目录下。笔者在这里只是做演示。
现在最后就是测试,笔者建议使用html浏览器。输入含有想保护的url目录的地址,一个对话框就会弹出来询问用户名和口令。如果一切顺利,就可以使用wap浏览器来测试了。
一个目录保护的例子在这个服务器上,用户名是demo,口令是demo。可以使用html或者wml浏览器来做测试。
这个例子同样可以通过输入http://wap.colorline.no/demos.html来得到。
或者只要点到保护的区域:
http://wap.colorline.no/wap-faq/extras/auth/
或者查看.htaccess文件。
最后点击查看口令文件的内容。
33. 怎么使用非拉丁字符?
在文件开头加上:
encoding="iso-8859-1"?
或者:
encoding="utf-8"?
iso-8859-1和utf-8编码支持更多的字符。
34. 一些特殊字符破坏了代码和连接该怎么办?
锚/链接有时候包含了一些字母和数字之外的字符。典型的如:“~”(波浪号)和“&”(与号)。如果根据书编程,就应该告诉wap浏览器使用的是什么字符集。这个在xml定义中可以完成:
<?xml version="1.0" encoding="iso-8859-1"?>
“iso-8859-1”是latin字符集。这个应该在大多数场合下能满足需要。但是,还是需要对那些转义字符进行转义。即使指定了字符集,也是没有用处的。
字符实体是某些特殊字符的标准名字,例如:“&”就是“&”。
大多数浏览器在反编码名字实体的时候会出现问题,例如nokia列出了7个兼容的名字实体:“quot”、“amp”、“apos”、“lt”、“gt”、“nbsp”和“shy”。只有在使用它们的十进制代码的时候(在上述所说的link中),浏览器可以显示几乎所有字符。如果nokia的浏览器接收到无法支持的实体名,它就会崩溃。
通过使用html或者wml浏览器(在html格式下,虽然不是很好),可以操作在线的实体名列表,该列表在http://wap.colorline.no/wap-faq/apps/charentref.html。
这个表同样有一个例子在:http://wap.colorline.no/demos.html。
第一步,选择将要使用的字符集,latin1,latin1 mathematical和greek symbols,最后是latin1 markup symbols。注意到列表被分割了,是由于deck的限制。真正的列表显示了实体名,实体的十进制值和真正的符号。从这里就可以看到哪个字符浏览器可以显示。
注意上面的在线列表,不要设置为“charset=iso-8859-1”(真正的latin1),那是个xml定义。
35. 可能在wml页面上显示一个可选的link吗?当用户选择后就可以直接拨号?
现在不行。但是一旦支持wtai的设备出现,那么就可能实现。
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论