1、 这个文件是常被引用的文件,所以开头还是采用了惯用的常量判断法。防止被恶意浏览器直接打开
2、 加密函数authcode中的加密有多次的md5叠加加密。保证密码的安全性。在常有的思维中,一般是只加密了一次。而在DZ的加密函数中。加密算法很复杂。分别从md5加密,字符随机截断加密,位运算加密和与密匙结合加密。
3、 DZ的字符处理工作非常好。虽然在下载的时候我们会选择utf-8还是gbk。但是不管是处理字符还是处理数据库链接的时候都是第一考虑字符编码的地方。在db_mysql.class.php文件的数据库链接上就判断了格式是什么。代码如下
$func = empty($pconnect) ? 'mysql_connect' : 'mysql_pconnect';
//建立一个链接给类的属性link之...
前几天要命了。。因为偷懒,服信建材拿tg的代码来复用了一下,,本地测试完,传到新开的虚拟主机上去。。不能登录,phpinfo();看了一下,果然是register_globals没开。。 要信诺立给开是不可能了。。如何有效地改最少的代码,让全部程序正常地跑起来呢。。 刚学PHP的时候,官方文档上demo建议用户关闭全局变量并且用$_REQUEST["XXX"]、$_POST["XXX"]等方式获得表单传送过来的数据,当时也没有深究究竟为什么要这么做, 惯性的力量真的是比较强大。。后来看myg(就用缩写了,省得待会儿又被他用so361.com[广告]什么的搜出来。。)写的程序看得多了,我也就跟着全部用全局变量传递表单提交的数据。没想到这下碰...
基于各种各样的理由,PHP 的设置需要依赖于 register_globals 参数打开,但是也成为安全的重要隐患,请看下面的一段代码:<?if (authenticate_user()) {$authenticated = true;}...?>
远程用户可以简单的传递 'authenticated' 作为表单变量,即使authenticate_user() 函数返回 false,$authenticated 还是会设置成 true。这是一个简单的例子,你或许会说,我的程序不会这样来写。而实际上,在稍微复杂一些的应用里面,这个机制就会成为重大的漏洞。
因此,新版本的 PHP ,我们建议用户不要采用这个变量来控制应用,虽然我们没有打算要在不久的将来删除。为了帮助用户建立 register_globals 设置为 off 的应用,增加了一些变量来代...
编程中使用正则表达式越来越多,而glob表达式则越来越少。但不管怎样,Jakarta Original Reusable Objects (ORO)包含了一个GlobCompiler类来处理glob表达式。Globbing这个名字古怪而著名,它指的是在DOS/UNIX上用通配符如*号来代表若干个文件。例如,d*.bat代表所有以d开头的批处理文件,又如*virus.exe代表所有名字以virus.exe结尾的可执行文件。Jakarta ORO通过把glob语言翻译成正则表达式来实现globbing功能,所以在ORO中使用globbing系统和使用正则表达式是一样的。下面是例子:import org.apache.oro.text.*;import org.apache.oro.text.regex.*;public class GlobTest {static public void main(String[] args)...
运行环境:PHP 4 >= 4.3.0, PHP 5说明array glob ( string $pattern [, int $flags = 0 ] )glob() 函数依照 libc glob() 函数使用的规则寻找所有与 pattern 匹配的文件路径,类似于一般 shells 所用的规则一样。不进行缩写扩展或参数替代。参数patternThe pattern. No tilde expansion or parameter substitution is done.flags有效标记有:GLOB_MARK - 在每个返回的项目中加一个斜线 GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序) GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式 GLOB_NOESCAPE - 反斜线不转义元字符 GLOB_BRACE - 扩充 {a,b,c} 来匹配 'a'...