php需要禁用的危险函数
php作为世界上最流行的网站开发语言,与其拥有众多的内建函数,容易入门,方便易用是分不开的。
php的许多建函数除了带给网站强的功能以后,还给网站带来了一系列的安全问题。如eval函数,它能够将作为代码来执行。被别有用心的人利用的话,将对网站造成破坏。除了eval函数,还有许多危险的函数,除了破坏网站,还能威胁系统。如果网站开发都用不到这些函数的话,最好还是把他们禁用。
总结php危险函数有passthru,exec,shell_exec,system,popen,proc_open,chmod,escapeshellcmd,eval,preg_replace,特别是能够直接运行shell的函数,如果没有特别的需求,一定要禁掉,如exec,shell_exec,system,passthru,popen,proc_open。
禁用这些函数的方法就是打开php.ini文件,找到disable_functions=这行,如果前面有;去掉,设置成disable_functions=passthru,exec,shell_exec,system,popen,proc_open,chmod,escapeshellcmd 。
还有一个函数dl,这个函数的功能是动态加载php的库文件.在win系统下动态加载dll文件,在linux系统下加载.so文件,同样对系统构成威胁,建议禁掉,方法是PHP.ini里面enable_dl = off。
经过这样设置后系统应该比较安全了。网站本身的安全性那只能在写代码的时候注意了。
近期文章
- 织梦5.7{dede:php}标签不起作用的解决办法
- php版本non-thread-safe和thread-safe的区别
- 什么是fatal flex scanner internal error--end of buffer missed
- php文件命名建议用小写
- php cookie字典
- seft和static在php中有什么不同
- 用php快速获取图片大小
- 用php的json_decode()检测json数据是否合法
- php三个等号
- unset和=null有什么不同
- php如何捕获一个警告信息
- 如何获得php数组中最后一个元素的键名?
- 在PHP中,你如何改变数组中某一元素的键名?
- php多维数组转xml
- php如何转化数组为SimpleXML对象
- php如何把数组定义为常量
- php根据数组中的值删除数组中的元素
- 计算两个日期相差多少天
- 如何捕获var_dump的输出结果保存到一个字符串中?
- 用php获取完整的URL