PHP Directives List

这是您申请推荐指令的概述。 此处已收集最重要的指令,以便快速审查。 整个指令列表可以作为手册的链接,适用。 从下面的列表中缺少扩展时,无论是没有特定的配置指令, 或者它不是由当前代码使用的。

指示建议描述
Apach.
child_terminate.真的指定PHP脚本是否可以在请求结束时请求子流程终止。
额外的配置 Apache运行时配置
com
com.allow_dcom.错误的允许分布式呼叫。如果您需要分布式COM呼叫,否则保留错误。
额外的配置 COM运行时配置
卷曲
额外的配置 卷曲运行时配置
日期
日期.timezone.欧洲/阿姆斯特丹依赖于系统的时区设置是不安全的。确保在PHP.INI中设置指令日期.TimentZone。
文件
allow_url_fopen.离开除非您需要访问远程文件,否则最好是安全和禁止此功能
realpath_cache_size.128k确定要由PHP使用的RealPath缓存的大小。 “16k”的默认值通常太低,对于打开许多文件(自动加载,Fopen,File_Get_Contents ......)的现代应用程序通常太低。建议将此值高达128至256K,并通过使用RealPath_Cache_Get()测试来减少它。
realpath_cache_ttl.3600用于缓存给定文件或目录的远程信息的时间(以秒为单位)。如果应用程序的代码经常不会变化,则可以将此指令设置为3600(一小时)甚至更多。
额外的配置 文件系统运行时配置
筛选
筛选.default.不安全使用filter_input(),filter_var()或其_ array()版本等函数时设置默认过滤器。默认情况下,给出这个严格的级别,如“字符串”,并使每个对先前函数的调用配置过滤器逐个案例。
额外的配置 过滤运行时配置
MBString.
default_charset.UTF-8该指令句柄编码输入,内部和输出。 default_charset.
MBString..internal_encoding.不要依赖它由于PHP 5.6,此指令已弃用或删除。建议使用“default_charset”指令。
额外的配置 MBString运行时配置
ob.
output_buffering.4096您可以通过将此指令设置为“ON”来启用所有文件的输出缓冲。如果您希望将缓冲区的大小限制为特定尺寸 - 您可以使用最大数量的字节而不是“开”,作为此指令的值(例如,Output_Buffering = 4096)。截至PHP 4.3.5,该指令始终在PHP-CLI中关闭。
output_handler. mb_output_handler或ob_iconv_handler(),ob_gzhandler()或zlib.output_compression;使用第一个建议的值来处理字符编码。在飞行压缩上使用第二个值;如果您有一个,请使用自己的功能。
Implicit_Flush.错误的将其更改为True告诉PHP告诉输出层自动在每个输出块后自动刷新:这具有表现障碍。
openssl.
openssl..cafile. 证书颁发机构文件的位置文件在本地文件系统上应与verify_peer上下文选项一起使用以验证远程对等体的标识。
openssl..capath. 如果未指定cafile或者在那里找不到证书,则搜索通过CAPATH指向的目录以获取合适的证书。 CAPATH必须是一个正确散列的证书目录。
PCRE.
额外的配置 PCRE运行时配置
会议
会议.name.此指令设置会话的名称,该名称也被用作cookie。建议为此提供显式名称,并避免phpsessid的默认值。
会议.path.避免/ tmp.此指令设置会话文件将存储的路径(如果使用文件存储)。建议避免使用/ tmp,因为该文件夹可用于访问机器的每个文件夹。将其设置为专用于Web服务器的路径。
会议.auto_start.1此指令允许在请求时启动会话。这是大多数网站的默认行为。
会议.cookie_httponly1标记为HTTP通信保留的会话cookie。这将阻止cookie可用于JavaScript,并帮助防止XSS(虽然,但并非所有浏览器都支持它)。
会议.use_only_cookies.1将会话ID的传输限制为cookie。
会议.use_trans_sid.0这将使PHP将会话令牌放在URL中,而不是cookie。这是一种安全风险,因为可以轻松访问并共享令牌。建议避免这种情况。
会议.cookie_domain.此指令将将会话cookie的扩散限制为指定的域名。更严格的更好。 AKA,session.cookie_domain. =“。net”将限制cookie到每个“.NET”域,而不是每个域。 session.cookie_domain. =“www.yourdomain.net”将它将其限制为同名域,不会与“images.yourdomain.net”共享cookie,这可能过于限制。
额外的配置 会话运行时配置
标准
memory_limit.120这使允许脚本允许分配的最大内存量。这有助于防止在服务器上省略所有可用内存的书面脚本。建议尽可能低地将此设置为低,避免删除限制。
max_execution_time.90这设置了允许运行脚本以秒为单位的最大时间量。值越低,服务器越好,还有更好的脚本写入。避免真正的大值,只适用于管理员,并每次目录设置它们。
expose_php.离开公开在服务器上安装PHP的世界。出于安全原因,最好保持这种隐藏。
display_errors.离开这决定了是否应将错误作为输出的一部分打印到屏幕上,或者是否应该从用户隐藏。
error_reporting.e_all.设置错误报告级别。始终设置为此高,以使报告的错误和记录。
log_errors.始终记录未来使用的错误
error_log.可写文件的名称,适合日志记录。应记录脚本错误的文件的名称。
额外的配置 标准运行时配置
启用DL.
启用_dl.离开 是否启用DL()函数。 DL()函数在多线程服务器中无法正常工作,例如IIS或Zeus,并在它们上自动禁用。
错误日志
error_log.除了显示错误外,PHP还可以将错误记录到特定于服务器特定的日志,stderr或由error_log指令指定的位置的位置
error_log.php_errors.log.将错误记录到指定文件。 PHP的默认行为是将此值留空
环境
variables_order.EGPCS.设置EGPCS(环境,Get,Post,Cookie和Server)变量解析的顺序。如果省略'E',则$ _env可能为空。
禁用功能
禁用_function.EXEC服务器,中继系统,proc_nice,proc_terminate,proc_get_status,popen方法,函数,pclose,curl_multi_exec,show_source,符号链接,的fsockopen,pfsockopen,socket_connect,socket_create_listen,socket_create_pair,socket_create,符号链接,邮件,apache_child_terminate,apache_get_modules,apache_get_version,apache_setenv,pcntl_alarm,pcntl_errno, pcntl_exec,pcntl_fork,pcntl_get_last_error,pcntl_getpriority,pcntl_setpriority,pcntl_signal_dispatch,pcntl_signal,pcntl_sigprocmask,pcntl_sigtimedwait,pcntl_sigwaitinfo,pcntl_strerror,pcntl_wait,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,DL,泄漏,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid, posix_setuid.此指令允许您禁用某些功能以供安全原因。它采用逗号分隔的函数名列表。禁用_function不受安全模式的影响。 ;在代码中找到了6个敏感功能。不要禁用那些:apache_note,apache_getenv,proc_close,proc_open,curl_exec,shell_exec
disable_classes.ph此指令允许您出于安全原因禁用某些类。它采用逗号分隔的类名列表。禁用_classes不受安全模式的影响。该指令必须在PHP.ini中设置。 ;在代码中找到了1个敏感类。不要禁用这些:
上传文件
upload_max_filesize.2M这是上传的最大尺寸。建议保持此值尽可能低。
max_file_uploads.1这是单个请求中的上传文件的最大数量。
upload_tmp_dir./ tmp / php_upload上传PHP存储临时文件的目录。建议设置此值,并将其与其他临时目录分开。
post_max_size.2M这是PHP在POST请求中接受的最大数据量。它必须更高或等于UPLOOD_MAX_FILESIZE。出于安全原因,它应该尽可能低,以防止使用太多内存。