vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
<Directory /data/wwwroot/123.com/upload> php_admin_flag engine off </Directory>
/usr/local/apache2.4/bin/apachectl -t /usr/local/apache2.4/bin/apachectl graceful
禁止解析upload目录下的php文件php
;shell
mkdir /data/wwwroot/123.com/upload/ cp /data/wwwroot/123.com/admin.php /data/wwwroot/123.com/upload/example.php curl -x127.0.0.1:80 www.123.com/upload/example.php
或者apache
<Directory /data/wwwroot/123.com/upload> <FilesMatch(.*)\.php(.*)> Order allow,deny Deny from all </FilesMatch> </Directory>
/usr/local/apache2.4/bin/apachectl -t /usr/local/apache2.4/bin/apachectl graceful
禁止访问upload目录下的php文件;vim
user_agent能够理解为浏览器标识
user_agent为何能够作访问控制呢?
背景:好比网站受到cc***。***的人经过软件或者肉机,想***某个网站的时候,把全部的肉机发动起来,让它们同时访问一个站点。可是cc***每每有一个特征,就是user_agent一致的,访问地址一致。访问速度快,每秒N次浏览器
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
核心配置文件内容curl
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_USER_AGENT} .*curl.* [NC,OR] RewriteCond %{HTTP_USER_AGENT} .*baidu.com.* [NC] RewriteRule .* - [F] </IfModule>
curl -A "123123" 指定user_agentsocket
/usr/local/apache2.4/bin/apachectl -t /usr/local/apache2.4/bin/apachectl graceful
curl -x127.0.0.1:80 www.123.com curl -A '1231' -x127.0.0.1:80 www.123.com curl -A 'baidu.com' -x127.0.0.1:80 www.123.com
查看php配置文件位置ide
vim /data/wwwroot/123.com/123.php <?php phpinfo(); ?>
经过浏览器查看配置文件信息函数
若是配置文件不存在就要去模板目录下复制一份;测试
修改php配置文件
vim /usr/local/php/etc/php.ini
如下为一般须要禁用的函数
eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,proc_close
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
php_admin_value open_basedir "/data/wwwroot/123.com:/tmp/"
设置表示容许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,能够防止php***跨站