linux系统下怎么预防php木马
现在我给大家讲一下在linux下如何预防php木马。1.首先修改 2、防止php木马执行webshell 打开safe_mode,在php.ini中设置disable_functions=passthru,exec,shell_exec,system二者选一即可,也可都选 3、防止php木马读写文件目录 在php.ini中的disable_functions=passthru,exec,shell_exec,system后面加上php处理文件的函数主要有fopen,mkdir,rmdir,chmod,unlink,dir fopen,fread,fclose,fwrite,file_exists
wordpress主题后台功能缺失怎么办
操作方法:
找到服务器上php.ini的位置,可以利用phpinfo()函数等方法找到php.ini的位置,然后对该文件进行编辑:
vi /usr/local/php/etc/php.ini
找到第210行的disable_functions,按a键进入编辑模式,将其值里的scandir这个函数去掉,记得逗号也要去掉,再esc退出编辑模式,输入:wq保存退出,之后重启你的nginx或者apache服务和php服务:
service nginx restartphp-fpm reload
如何启用phpinfo函数
操作步骤:
1、打开php.ini文件;
2、把代码:disble_functions = phpinfo改写为:disable_functions = ; This directive allows you to disable certain ; functions for security reasons. It receives ; a comma separated list of function names. ; This directive is *NOT* affected by whether ; Safe Mode is turned on or off;
3、重启apache就能实现启用phpinfo()函数了。
Notice: Undefined variable: page_no in D:wwwrootguguluwwwrootsindex.php
第一个,在index.php的61行,有未定义的变量,应该是$page_no没有赋值,而是直接写了$page_no; 这在php里面不允许。
第二个,肯定是服务器禁用了curl,所以你无法使用curl系列函数,你可以看下phpinfo()里的disable_functions,里面应该有curl系列函数。
如何开启allow
1.首先确保你拥有服务器的操作权限,如果只是虚拟空间客户,那么你就联系主机商帮助操作吧;
2.打开PHP的配置文件php.ini,如果你的主机是win2003该文件在C:\WINDOWS目录下,直接用记事本打开就可以,如果是apache那么就是在你的php安装的文件夹内就可以找到;
3.打开后找到
allow_url_fopen这一行,把allow_url_fopen = Off改为allow_url_fopen = On;
4.重启iis或者apache就可以生效了;
5.如果重启后还是不行,那么肯定是函数被禁止了,下面为方法:
还是打开php.ini文件,找到disable_functions这个字段,检查一下disable_functions =后面是否有fsockopen的字样,删除就可以!
6.环境变换无穷,仔细检查配置,肯定可以解决问题的!
如何屏蔽php中的phpinfo()函数
配置php环境的时候往往都会写phpinfo();这个函数来测试php环境是否安装成功,但往往这个函数也会给系统带来安全隐患,所以要关掉这个函数。
修改php.ini文件,在里面找到如下行,
复制代码代码如下:
disable_functions = ; This directive allows you to disable certain
; functions for security reasons. It receives
; a comma separated list of function names.
; This directive is *NOT* affected by whether
; Safe Mode is turned on or off.
将其写成
disble_functions = phpinfo
重启apache就能实现屏蔽phpinfo();函数了。
一些需要禁用的PHP危险函数(disable_functions)
phpinfo()
功能描述:输出
PHP
环境信息以及相关的模块、WEB
环境等信息。
危险等级:中
passthru()
功能描述:允许执行一个外部程序并回显输出,类似于
exec()。
危险等级:高
exec()
功能描述:允许执行一个外部程序(如
UNIX
Shell
或
CMD
命令等)。
危险等级:高
system()
功能描述:允许执行一个外部程序并回显输出,类似于
passthru()。
危险等级:高
chroot()
功能描述:可改变当前
PHP
进程的工作根目录,仅当系统支持
CLI
模式
PHP
时才能工作,且该函数不适用于
Windows
系统。
危险等级:高
scandir()
功能描述:列出指定路径中的文件和目录。
危险等级:中
chgrp()
功能描述:改变文件或目录所属的用户组。
危险等级:高
chown()
功能描述:改变文件或目录的所有者。
危险等级:高
shell_exec()
功能描述:通过
Shell
执行命令,并将执行结果作为字符串返回。
危险等级:高
proc_open()
功能描述:执行一个命令并打开文件指针用于读取以及写入。
危险等级:高
proc_get_status()
功能描述:获取使用
proc_open()
所打开进程的信息。
危险等级:高
error_log()
功能描述:将错误信息发送到指定位置(文件)。
安全备注:在某些版本的
PHP
中,可使用
error_log()
绕过
PHP
safe
mode,
执行任意命令。
危险等级:低
ini_alter()
功能描述:是
ini_set()
函数的一个别名函数,功能与
ini_set()
相同。
具体参见
ini_set()。
危险等级:高
ini_set()
功能描述:可用于修改、设置
PHP
环境配置参数。
危险等级:高
ini_restore()
功能描述:可用于恢复
PHP
环境配置参数到其初始值。
危险等级:高
dl()
功能描述:在
PHP
进行运行过程当中(而非启动时)加载一个
PHP
外部模块。
危险等级:高
pfsockopen()
功能描述:建立一个
Internet
或
UNIX
域的
socket
持久连接。
危险等级:高
syslog()
功能描述:可调用
UNIX
系统的系统层
syslog()
函数。
危险等级:中
readlink()
功能描述:返回符号连接指向的目标文件内容。
危险等级:中
symlink()
功能描述:在
UNIX
系统中建立一个符号链接。
危险等级:高
popen()
功能描述:可通过
popen()
的参数传递一条命令,并对
popen()
所打开的文件进行执行。
危险等级:高
stream_socket_server()
功能描述:建立一个
Internet
或
UNIX
服务器连接。
危险等级:中
putenv()
功能描述:用于在
PHP
运行时改变系统字符集环境。在低于
5.2.6
版本的
PHP
中,可利用该函数
修改系统字符集环境后,利用
sendmail
指令发送特殊参数执行系统
SHELL
命令。
危险等级:高
禁用方法如下:
打开/etc/php.ini文件,
查找到
disable_functions
,添加需禁用的函数名,如下:
phpinfo,eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen
关于环境的配置,Configuration File (php.ini) Path为C:\windows
找问题不如重装~~我把重新把文件替换了了一下就ok了~~
(1) 解压缩下载的 php-5.2.4-Win32.zip 文件,并将其复制到:X:\Server_Core\PHP ;
(2) 进入 X:\Server_Core\PHP 文件夹,将 php.ini-dist 重命名为 php.ini ;
(3) 打开 php.ini 文件,找到:extension_dir = “./“
将其改为;
extension_dir = “X:\Server_Core\PHP\ext“
(4) 找到:Windows Extensions
在 Windows Extensions 下方的动态模块配置中,需要打开以下模块支持:(去掉模块配置每行前面的;号即可)
extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_MySQL.dll
(5) 找到:
disable_functions =
改为:
disable_functions = phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
(6) 保存 php.ini 文件,并将其复制到 C:\Windows\
给你个dizuz帮助文档下载地址http://faq.comsenz.com/usersguide
按上面再重装一遍就行了~~我配置好了~~
php如何开启gzinflate 函数
1.找到php.ini,(一般在c:\windows\php.ini),修改 extension=php_curl.dll 去掉前面的分号。
2.检查php安装目录/ext目录下面是否有php_curl.dll文件。
3.将php安装目录下面的2个dll,libeay32.dll/ssleay32.dll 复制到 windows/system32下。
4.重启php的服务。就是重启iis。
5.如果把以上步骤都做完了,还是不行,那么点击服务器: 我的电脑-属性-高级-环境变量-系统变量-Path-编辑
在变量值里面增加:
;D:\APMServ5.2.6\PHP;D:\APMServ5.2.6\PHP\ext
这里的 D:\APMServ5.2.6\PHP 应该换成你的PHP安装目录。
B) 支持mb_string.dll组件
修改php.ini文件(一般在c:\windows\php.ini):
修改 extension=mb_string.dll 去掉前面的分号
重启php的服务
C) 支持zlib.dll组件
修改php.ini文件(一般在c:\windows\php.ini):
修改 extension=zlib.dll 去掉前面的分号,保存文件并重启php服务
某些情况下,zlib.dll已经启用,但gzinflate函数被禁用,那么应该:
编辑php.ini文件,修改 disable_functions= 这一行,把等号后面的内容都留空,保存文件并重启php服务
D) 启用延时函数set_time_limit,usleep
编辑php.ini文件,修改 disable_functions= 这一行,把等号后面的内容都留空,保存文件并重启php服务