Welcome

首页 / 网页编程 / PHP / php禁用函数设置及查看方法详解

本文实例讲述了php禁用函数设置及查看方法。分享给大家供大家参考,具体如下:
打开PHP.INI,找到这行:
disable_functions =
在后面那里加上要禁用的函数,如禁用多个函数,要用半角逗号 , 分开
给个例子:
复制代码 代码如下:disable_functions = passthru,exec,system,popen,chroot,scandir,chgrp,chown,escapesh
ellcmd,escapeshellarg,shell_exec,proc_open,proc_get_status
建议在主机上禁用的函数:
复制代码 代码如下:disable_functions = system,exec,shell_exec,passthru,proc_open,proc_close, proc_get_status,checkdnsrr,getmxrr,getservbyname,getservbyport, syslog,popen,show_source,highlight_file,dl,socket_listen,socket_create,socket_bind,socket_accept, socket_connect, stream_socket_server, stream_socket_accept,stream_socket_client,ftp_connect, ftp_login,ftp_pasv,ftp_get,sys_getloadavg,disk_total_space, disk_free_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
在主机上面如何查看禁用的函数列表,我从网上找了一个非常不错的探针
<?phpheader("content-Type: text/html; charset=utf-8");header("Cache-Control: no-cache, must-revalidate");header("Pragma: no-cache");error_reporting(0);ob_end_flush();?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Pragma" content="No-cache" /><meta http-equiv="Expires" content="0" /><meta http-equiv="cache-control" content="private" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />//加了这句,看看能不能解决linux下显示乱码的问题?<title>PHP 探针 v1.0</title><style type="text/css"><!--body{text-align:center;margin-top:20px;background-color:#a9b674;}#overview{width:700px;margin:0 auto;text-align:left;}a{text-decoration:underline;color:#992700;}.strong{color:#992700;}.basew{width:300px;}--></style></head><body><div id="overview"><div id="copyright">版权信息<a href="hello.php?typ=baseinfo">[基本信息]</a> <a href="hello.php?typ=superinfo">[高级信息]</a><?phpif (function_exists("phpinfo")){echo"<a href="hello.php?typ=phpinfo">[phpinfo]</a>";}echo"<br />php探针v1.0 by MKDuse(blueidea-id)<br /><br />此程序代码,可免费使用;但不得用于商业用途;完全转载或使用此代码,请保留版权信息;<br />欢迎指正错误提建议,QQ:122712355</div>";if (empty($_GET["typ"])){baseinfo();}else{switch ($_GET["typ"]){case "phpinfo":phpinfoview();break;case "superinfo":superinfo();break;case "baseinfo":baseinfo();break;default:baseinfo();}}function getime(){ $t = gettimeofday(); return (float)($t["sec"] + $t["usec"]/1000000);}function baseinfo(){echo "<h1>基本信息</h1>";$arr[]=array("Current PHP version:",phpversion());$arr[]=array("Zend engine version:",zend_version());$arr[]=array("服务器版本",$_SERVER["SERVER_SOFTWARE"]);$arr[]=array("ip地址",$_SERVER["REMOTE_HOST"]);//ip$arr[]=array("域名",$_SERVER["HTTP_HOST"]);$arr[]=array("协议端口",$_SERVER["SERVER_PROTOCOL"]." ".$_SERVER["SERVER_PORT"]);$arr[]=array("站点根目录",$_SERVER["PATH_TRANSLATED"]);$arr[]=array("服务器时间",date("Y年m月d日,H:i:s,D"));$arr[]=array("当前用户",get_current_user());$arr[]=array("操作系统",php_uname("s").php_uname("r").php_uname("v"));$arr[]=array("include_path",ini_get("include_path"));$arr[]=array("Server API",php_sapi_name());$arr[]=array("error_reporting level",ini_get("display_errors"));$arr[]=array("POST提交限制",ini_get("post_max_size"));$arr[]=array("upload_max_filesize",ini_get("upload_max_filesize"));$arr[]=array("脚本超时时间",ini_get("max_execution_time")."秒");if (ini_get("safe_mode")==0){$arr[]=array("PHP安全模式(Safe_mode)","off");}else{$arr[]=array("PHP安全模式(Safe_mode)","on");}if (function_exists("memory_get_usage")){$arr[]=array("memory_get_usage",ini_get("memory_get_usage"));}//$arr[]=array("可用空间",intval(diskfreespace("/")/(1024 * 1024))."M");echo"<table>";for($i=0;$i<count($arr);$i++){$overview="<tr><td class="basew">".$arr[$i][0]."</td><td>".$arr[$i][1]."</td></tr>";echo $overview;}echo"</table>";echo "<h2>服务器性能测试</h2>";echo"<table><tr><td>服务器</td><td>整数运算<br />50万次加法(1+1)</td><td>浮点运算<br />50万次平方根(3.14开方)</td></tr>";echo"<tr><td>MKDuse的机子(P4 1.5G 256DDR winxp sp2)</td><td>465.08ms</td><td>466.66ms</td></tr>";$time_start=getime();for($i=0;$i<=500000;$i++);{$count=1+1;}$timea=round((getime()-$time_start)*1000,2);echo "<tr class="strong"><td>当前服务器</td><td>".$timea."ms</td>";$time_start=getime();for($i=0;$i<=500000;$i++);{sqrt(3.14);}$timea=round((getime()-$time_start)*1000,2);echo "<td>".$timea."ms</td></tr></table>";?><script language="javascript" type="text/javascript">function gettime(){ var time; time=new Date(); return time.getTime();}start_time=gettime();</script><?phpecho "<h2>带宽测试</h2>";for ($i=0;$i<100;$i++){print "<!--1234567890#########0#########0#########0#########0#########0#########0#########0#########012345-->";}?><p id="dk"></p><script language="javascript" type="text/javascript">var timea;var netspeed;timea=gettime()-start_time;netspeed=Math.round(10/timea*1000);document.getElementByIdx("dk").innerHTML="向客户端发送10KB数据,耗时"+timea+"ms<br />您与此服务器的连接速度为"+netspeed+"kb/s";</script><?phpecho"<h2>已加载的扩展库(enable)</h2><div>";$arr =get_loaded_extensions();foreach($arr as $value){echo $value."<br />";}echo"</div><h2>禁用的函数</h2><p>";$disfun=ini_get("disable_functions");if (empty($disfun)){echo"没有禁用</p>";}else{echo ini_get("disable_functions")."</p>";}}//关闭function superinfo(){echo"<h1>高级信息</h1><p>PHP_INI_USER 1 配置选项可用在用户的 PHP 脚本或Windows 注册表中<br> PHP_INI_PERDIR 2 配置选项可在 php.ini, .htaccess 或 httpd.conf 中设置 <br>PHP_INI_SYSTEM 4 配置选项可在 php.ini or httpd.conf 中设置 <br>PHP_INI_ALL 7 配置选项可在各处设置</p>";$arr1=ini_get_all();for ($i=0;$i<count($arr1);$i++){$arr2=array_slice($arr1,$i,1);print_r($arr2);echo "<br />";}}function phpinfoview(){phpinfo();}?></div></body></html>
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php程序设计安全教程》、《php面向对象程序设计入门教程》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。