PHP のセキュリティ モードは、共有サーバーのセキュリティ問題を解決するために確立されました。構造的には、PHP 層でこの問題を解決しようとするのは意味がありませんが、Web サーバー層とオペレーティング システム層を変更するのは非常に非現実的です。現在、非常に多くの人、特に ISP がセーフ モードを使用しています。
php.ini のセーフ モード設定は次のとおりです:
safe_mode boolean
PHP のセーフ モードを有効にするかどうか。
safe_mode_gid boolean
デフォルトでは、セーフ モードはファイルを開くときに UID 比較チェックを実行します。 GID 比較を緩和したい場合は、safe_mode_gid をオンにします。ファイルにアクセスするときにチェックするために UID (FALSE) または GID (TRUE) を使用するかどうか。
safe_mode_include_dir string
このディレクトリとそのサブディレクトリからファイルをインクルードする場合、UID/GID チェックをバイパスします (ディレクトリは include_path にあるか、フルパスでインクルードされている必要があります)。
PHP 4.2.0 以降、このディレクティブは、単なるディレクトリではなく、include_path ディレクティブと同様のスタイルでコロン (Windows ではセミコロン) で区切られたパスを受け入れることができます。指定された制限は、実際にはディレクトリ名ではなくプレフィックスです。これは、「safe_mode_include_dir = /dir/incl」により、「/dir/include」および「/dir/incls」が存在する場合、それらへのアクセスが許可されることを意味します。特定のディレクトリへのアクセスを制限したい場合は、「safe_mode_include_dir = /dir/incl/」のように末尾にスラッシュを追加します。このディレクティブの値が空の場合、PHP 4.2.3 以降で異なる UID/GID を持つファイルは含まれません。以前のバージョンでは、すべてのファイルを含めることができました。
safe_mode_exec_dir string
PHP がセーフ モードを使用する場合、system() およびその他のプログラム実行関数は、このディレクトリにないプログラムの起動を拒否します。 Windows を含め、ディレクトリ区切り文字として / を使用する必要があります。
safe_mode_allowed_env_vars string
特定の環境変数を設定すると、セキュリティ上のギャップが生じる可能性があります。このディレクティブには、カンマで区切られたプレフィックスのリストが含まれます。セーフ モードでは、ユーザーは、ここで指定されたプレフィックスが名前に付いている環境変数のみを変更できます。デフォルトでは、ユーザーは PHP_ で始まる環境変数のみを設定できます (例: PHP_FOO = BAR)。
注:
このディレクティブが空の場合、PHP ではユーザーが任意の環境変数を変更できるようになります。
safe_mode_protected_env_vars string
このコマンドには、エンドユーザーが putenv() を使用して変更できない環境変数のカンマ区切りのリストが含まれています。これらの変数は、safe_mode_allowed_env_vars で許可された変更が設定されている場合でも変更できません。
safe_mode が on に設定されている場合、PHP はファイル関数またはそのディレクトリを通じて、現在のスクリプトの所有者が操作対象のファイルの所有者と一致するかどうかを確認します。例:
-rw-rw-r-- 1 rasmus rasmus 33 Jul 1 19:20 script.php -rw-r--r-- 1 root root 1116 May 26 18:01 /etc/passwd
script.php を実行する
<?php readfile('/etc/passwd'); ?>
セーフ モードが有効になっている場合、次のエラーが発生します:
Warning: SAFE MODE Restriction in effect. The script whose uid is 500 is not allowed to access /etc/passwd owned by uid 0 in /docroot/script.php on line 2
同時に、緩和された GID チェックで十分な環境もあるかもしれませんが、厳密な UID チェックは必要ありません。は適切ではありません。このチェックは、safe_mode_gid オプションで制御できます。 [オン] に設定すると、緩和された GID チェックが実行され、[オフ] (デフォルト) に設定すると、UID チェックが実行されます。
safe_mode を除き、open_basedir オプションが設定されている場合、すべてのファイル操作は指定されたディレクトリに制限されます。例:
<Directory /docroot> php_admin_value open_basedir /docroot </Directory>
open_basedir オプションを設定した後に同じ script.php を実行すると、結果は次のようになります:
Warning: open_basedir restriction in effect. File is in wrong directory in /docroot/script.php on line 2
特定の関数を個別にブロックすることもできます。 disable_functions オプションは php.ini ファイルの外部では使用できないことに注意してください。つまり、httpd.conf ファイル内の別の仮想ホストや別のディレクトリによって機能をブロックすることはできません。 php.ini ファイルに次の内容を追加すると、
disable_functions readfile,system
、次の出力が得られます:
Warning: readfile() has been disabled for security reasons in /docroot/script.php on line 2
警告
もちろん、これらの PHP 制限は実行可能ファイルには適用されません。

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

WebStorm Mac版
便利なJavaScript開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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

ホットトピック









