この記事では、PHP の無効化機能の設定と表示方法を例とともに紹介します。一定の参考価値があります。困っている友人は参考にしてください。お役に立てれば幸いです。
この記事では、PHP で無効になっている機能の設定と表示方法を主に紹介します。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
ホストで無効になっている機能のリストを確認する方法。インターネットから非常に優れたプローブを見つけました。
<?php header("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> <?php if (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 id="基本信息">基本信息</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 id="服务器性能测试">服务器性能测试</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> <?php echo '<h2 id="带宽测试">带宽测试</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> <?php echo'<h2 id="已加载的扩展库-enable">已加载的扩展库(enable)</h2><div>'; $arr =get_loaded_extensions(); foreach($arr as $value){ echo $value.'<br />';} echo'</div><h2 id="禁用的函数">禁用的函数</h2><p>'; $disfun=ini_get('disable_functions'); if (empty($disfun)){ echo'没有禁用</p>';} else{ echo ini_get('disable_functions').'</p>';} }//关闭 function superinfo(){ echo'<h1 id="高级信息">高级信息</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 中国語 Web サイトの他の関連記事を参照してください。

PHPSESSIONの障害の理由には、構成エラー、Cookieの問題、セッションの有効期限が含まれます。 1。構成エラー:正しいセッションをチェックして設定します。save_path。 2.Cookieの問題:Cookieが正しく設定されていることを確認してください。 3.セッションの有効期限:セッションを調整してください。GC_MAXLIFETIME値はセッション時間を延長します。

PHPでセッションの問題をデバッグする方法は次のとおりです。1。セッションが正しく開始されるかどうかを確認します。 2.セッションIDの配信を確認します。 3.セッションデータのストレージと読み取りを確認します。 4.サーバーの構成を確認します。セッションIDとデータを出力し、セッションファイルのコンテンツを表示するなど、セッション関連の問題を効果的に診断して解決できます。

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

PHPでのセッションライフサイクルの構成は、session.gc_maxlifetimeとsession.cookie_lifetimeを設定することで達成できます。 1)session.gc_maxlifetimeサーバー側のセッションデータのサバイバル時間を制御します。 0に設定すると、ブラウザが閉じているとCookieが期限切れになります。

データベースストレージセッションを使用することの主な利点には、持続性、スケーラビリティ、セキュリティが含まれます。 1。永続性:サーバーが再起動しても、セッションデータは変更されないままになります。 2。スケーラビリティ:分散システムに適用され、セッションデータが複数のサーバー間で同期されるようにします。 3。セキュリティ:データベースは、機密情報を保護するための暗号化されたストレージを提供します。

PHPでのカスタムセッション処理の実装は、SessionHandlerInterfaceインターフェイスを実装することで実行できます。具体的な手順には、次のものが含まれます。1)CussentsessionHandlerなどのSessionHandlerInterfaceを実装するクラスの作成。 2)セッションデータのライフサイクルとストレージ方法を定義するためのインターフェイス(オープン、クローズ、読み取り、書き込み、破壊、GCなど)の書き換え方法。 3)PHPスクリプトでカスタムセッションプロセッサを登録し、セッションを開始します。これにより、データをMySQLやRedisなどのメディアに保存して、パフォーマンス、セキュリティ、スケーラビリティを改善できます。

SessionIDは、ユーザーセッションのステータスを追跡するためにWebアプリケーションで使用されるメカニズムです。 1.ユーザーとサーバー間の複数のインタラクション中にユーザーのID情報を維持するために使用されるランダムに生成された文字列です。 2。サーバーは、ユーザーの複数のリクエストでこれらの要求を識別および関連付けるのに役立つCookieまたはURLパラメーターを介してクライアントに生成および送信します。 3.生成は通常、ランダムアルゴリズムを使用して、一意性と予測不可能性を確保します。 4.実際の開発では、Redisなどのメモリ内データベースを使用してセッションデータを保存してパフォーマンスとセキュリティを改善できます。

APIなどのステートレス環境でのセッションの管理は、JWTまたはCookieを使用して達成できます。 1。JWTは、無国籍とスケーラビリティに適していますが、ビッグデータに関してはサイズが大きいです。 2.cookiesはより伝統的で実装が簡単ですが、セキュリティを確保するために慎重に構成する必要があります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ホットトピック









