在我们之前的文章中我们带大家了解了什么是php探针,php探针是干什么,相信大家对此也是有一定了解很认识了,那么今天我用php探针来检测环境的实现代码分享给大家,这篇文章主要为大家分享了如何使用php探针环境检测代码的示例,需要的朋友可以参考下
php探针环境检测代码
<?php /* http://phpnow.org YinzCN_at_Gmail.com */ error_reporting(E_ALL); define('TimeZone', +8.0); function _GET($n) { return isset($_GET[$n]) ? $_GET[$n] : NULL; } function _SERVER($n) { return isset($_SERVER[$n]) ? $_SERVER[$n] : '[undefine]'; } if (_GET('act') == 'phpinfo') { if (function_exists('phpinfo')) phpinfo(); else echo 'phpinfo() has been disabled.'; exit; } $Info = array(); $Info['php_ini_file'] = function_exists('php_ini_loaded_file') ? php_ini_loaded_file() : '[undefine]'; if (_GET('act') == 'getip') { $i = _SERVER('SERVER_NAME').'|'._SERVER('REMOTE_ADDR').'|'._SERVER('SERVER_SOFTWARE').'|'.(function_exists('mysql_close')?mysql_get_client_info():'').'|'._SERVER('DOCUMENT_ROOT'); $c = @file_get_contents('http://phpnow.org/myip.php?'.base64_encode($i)); if (preg_match('/^\d+\.\d+\.\d+\.\d+$/', $c) == 1) echo $c; else echo 'false'; exit; } function colorhost() { $c = array('#87cefa', '#ffa500', '#ff6347', '#9acd32', '#32cd32', '#ee82ee'); $a = str_split(_SERVER('SERVER_NAME')); $k = $l = 0; foreach ($a as &$d) { while ($k==$l) $k = array_rand($c); $d = '<b style="color: '.$c[$k].';">'.$d.'</b>'; $l = $k; } return implode('', $a); } function get_ea_info($name) { $ea_info = eaccelerator_info(); return $ea_info[$name]; } function get_gd_info($name) { $gd_info = gd_info(); return $gd_info[$name]; } define('YES', '<span style="color: #008000; font-weight : bold;">Yes</span>'); define('NO', '<span style="color: #ff0000; font-weight : bold;">No</span>'); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>PHPnow Works!</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="author" content="YinzCN" /> <meta name="reply-to" content="YinzCN@Gmail.com" /> <meta name="copyright" content="YinzCN" /> <style type="text/css"> <!-- body { font-family : verdana, tahoma; font-size : 12px; margin-top : 10px; } form { margin : 0; } table { border-collapse : collapse; } .info tr td { border : 1px solid #000000; padding : 3px 10px 3px 10px ; } .info th { border : 1px solid #000000; font-weight : bold; height : 16px; padding : 3px 10px 3px 10px; background-color : #9acd32; } input { border : 1px solid #000000; background-color : #fafafa; } a { text-decoration : none; color : #000000; } a:hover { text-decoration : underline; } a.arrow { font-family : webdings, sans-serif; font-size : 10px; } a.arrow:hover { color : #ff0000; text-decoration : none; } .item { white-space: nowrap; text-align: right; } --> </style> <script type="text/JavaScript"> function $(id) { return document.getElementById(id); } function get_ip() { var XMLHttp, r; XMLHttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); XMLHttp.onreadystatechange = function() { if (XMLHttp.readyState == 4) { r = XMLHttp.responseText; if (r == 'false') $('ip_r').innerHTML = '获取外网 IP 失败!'; else $('ip_r').innerHTML = '此服务器互联网 IP<br /><a href="http://'+r+'" style="color: #999999;">'+r+'</a>'; } } XMLHttp.open("GET", "?act=getip", true); XMLHttp.send(); } </script> </head> <body onload="get_ip();"> <p style="margin: 0 auto; width: 600px;"> <p style="height: 60px;"> <p style="float: right; margin: 5px; text-align: center;"> <p><a style="color: #ffa500;" href="http://phpnow.org/go.php?id=1005">为何只能本地访问?</a></p> <p id="ip_r" style="color: #999999;">正在获取 IP 地址</p> </p> <p style="float: left;"> <p style="font-weight: bold; font-size: 2.2em;"><a href="<?=_SERVER('PHP_SELF')?>?" style="text-decoration: none;"><?=colorhost()?></a></p> <p style="margin: 5px auto;"># Let's <b style="color: #777BB4;">PHP</b> <b style="color: #FF4500;">now</b> <b>!</b></p> </p> </p> <br /> <table width="100%" class="info"> <tr> <th colspan="2">Server Information</th> </tr> <tr> <td class="item">SERVER_NAME</td> <td><?=_SERVER('SERVER_NAME')?></td> </tr> <tr> <td class="item">SERVER_ADDR:PORT</td> <td><?=_SERVER('SERVER_ADDR').':'._SERVER('SERVER_PORT')?></td> </tr> <tr> <td class="item">SERVER_SOFTWARE</td> <td><?=stripos(_SERVER('SERVER_SOFTWARE'), 'PHP')?_SERVER('SERVER_SOFTWARE'):_SERVER('SERVER_SOFTWARE').' PHP/'.PHP_VERSION?></td> </tr> <tr> <td class="item">PHP_SAPI</td> <td><?=PHP_SAPI?></td> </tr> <tr> <td class="item" style="color: #ff0000;">php.ini</td> <td><?=$Info['php_ini_file']?></td> </tr> <tr> <td class="item">网站主目录</td> <td><?=_SERVER('DOCUMENT_ROOT')?></td> </tr> <tr> <td class="item">Server Date / Time</td> <td><?=gmdate('Y-m-d', time()+TimeZone*3600)?> <?=gmdate('H:i:s', time()+TimeZone*3600)?> <span style="color: #999999;">(<?=(TimeZone<0?'-':'+').gmdate('H:i', abs(TimeZone)*3600)?>)</span></td> </tr> <tr> <td class="item">Other Links</td> <td> <a href='<?=_SERVER('PHP_SELF')?>?act=phpinfo'>phpinfo()</a> | <?=file_exists('phpMyAdmin') ? '<a href="/phpMyAdmin">phpMyAdmin</a>' : '<a href="http://phpnow.org">PHPnow.org</a>'?> </td> </tr> </table> <hr /> <table width="100%" class="info"> <tr> <th colspan="2">PHP 组件支持</th> </tr> <tr> <td class="item">Zend Optimizer</td> <td><?=defined('OPTIMIZER_VERSION') ? YES.' / '.OPTIMIZER_VERSION : NO?></td> </tr> <tr> <td class="item">MySQL 支持</td> <td><?=function_exists('mysql_close') ? YES.' / client lib version '.mysql_get_client_info() : NO?></td> </tr> <tr> <td class="item">GD library</td> <td><?=function_exists('gd_info') ? YES.' / '.get_gd_info('GD Version') : NO?></td> </tr> <tr> <td class="item">eAccelerator</td> <td><?=function_exists('eaccelerator_info') ? YES.' / '.get_ea_info('version') : NO?></td> </tr> </table> <hr /> <form method="post" action="<?=_SERVER('PHP_SELF')?>"> <table width="100%" class="info"> <tr> <th colspan="4">MySQL 连接测试</th> </tr> <tr> <td>MySQL 服务器</td> <td><input type="text" name="mysqlHost" value="localhost" /></td> <td>MySQL 数据库名</td> <td><input type="text" name="mysqlDb" value="test" /></td> </tr> <tr> <td>MySQL 用户名</td> <td><input type="text" name="mysqlUser" value="root" /></td> <td>MySQL 用户密码</td> <td><input type="text" name="mysqlPassword" /></td> </tr> <tr> <td colspan="4" align="right"><input type="submit" value="连接" name="act" /> </td> </tr> </table> </form> <?php if(isset($_POST['act'])) {?> <br /> <table width="100%" class="info"> <tr> <th colspan="4">MySQL 测试结果</th> </tr> <?php $link = @mysql_connect($_POST['mysqlHost'], $_POST['mysqlUser'], $_POST['mysqlPassword']); $errno = mysql_errno(); if ($link) $str1 = '<span style="color: #008000; font-weight: bold;">OK</span> ('.mysql_get_server_info($link).')'; else $str1 = '<span style="color: #ff0000; font-weight: bold;">Failed</span><br />'.mysql_error(); ?> <tr> <td colspan="2">服务器 <?=$_POST['mysqlHost']?></td> <td colspan="2"><?=$str1?></td> </tr> <tr> <td colspan="2">数据库 <?=$_POST['mysqlDb']?></td> <td colspan="2"><?=(@mysql_select_db($_POST['mysqlDb'],$link))?'<span style="color: #008000; font-weight: bold;">OK</span>':'<span style="color: #ff0000; font-weight: bold;">Failed</span>'?></td> </tr> </table> <?}?> <hr /> <p style="text-align: right; margin: 0;"><a href="http://validator.w3.org/check?uri=referer" style="color: #999999;">Valid XHTML 1.0 Strict</a> / <a href="http://zh.wikipedia.org/wiki/Copyleft" style="color: #008000;"><b>Copyleft</b></a> ! 2007-? by <a href="http://phpnow.org">PHPnow.org</a></p> </p> </body> </html>
总结:
文章介绍php探针环境检测的代码到这里就结束了、相信很多小伙伴看完这篇文章就对php探针有了进一步的了解了,对此希望对你有所帮助!
相关推荐:
以上是如何使用php探针环境检测代码的示例的详细内容。更多信息请关注PHP中文网其他相关文章!

负载均衡会影响会话管理,但可以通过会话复制、会话粘性和集中式会话存储解决。1.会话复制在服务器间复制会话数据。2.会话粘性将用户请求定向到同一服务器。3.集中式会话存储使用独立服务器如Redis存储会话数据,确保数据共享。

Sessionlockingisatechniqueusedtoensureauser'ssessionremainsexclusivetooneuseratatime.Itiscrucialforpreventingdatacorruptionandsecuritybreachesinmulti-userapplications.Sessionlockingisimplementedusingserver-sidelockingmechanisms,suchasReentrantLockinJ

PHP会话的替代方案包括Cookies、Token-basedAuthentication、Database-basedSessions和Redis/Memcached。1.Cookies通过在客户端存储数据来管理会话,简单但安全性低。2.Token-basedAuthentication使用令牌验证用户,安全性高但需额外逻辑。3.Database-basedSessions将数据存储在数据库中,扩展性好但可能影响性能。4.Redis/Memcached使用分布式缓存提高性能和扩展性,但需额外配

Sessionhijacking是指攻击者通过获取用户的sessionID来冒充用户。防范方法包括:1)使用HTTPS加密通信;2)验证sessionID的来源;3)使用安全的sessionID生成算法;4)定期更新sessionID。

本文比较了PHP和ASP.NET,重点是它们对大规模Web应用程序,性能差异和安全功能的适用性。两者对于大型项目都是可行的,但是PHP是开源和无关的,而ASP.NET,


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Atom编辑器mac版下载
最流行的的开源编辑器

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 Linux新版
SublimeText3 Linux最新版