十一週二次課 11.28 限定某個目錄禁止解析php 11.29 限制user_agent 11.30/11.31 php相關配置

11.28 限定某個目錄禁止解析phpphp

假設有一個目錄是能夠上傳圖片,可是可能被有心之人上傳php上去,由於httpd開放了php模塊,因此若是被人上傳了木馬文件(php類型),httpd就有可能會進行執行,一旦執行,就會讓對方得到咱們服務器的root權限,或者是被惡意刪除或修改一些參數,致使服務器癱瘓或者是被攻擊 靜態文件裏面沒有PHP。html

在/usr/local/apache2.4/conf/extra/httpd-vhosts.conf配置文件下進行設定:shell

[root@localhost 111.com]#   !vi

核心配置文件內容apache

<Directory /data/wwwroot/www.123.com/upload>
        php_admin_flag engine off              #禁止解析php
        <FilesMatch (.*)\.php(.*)>
        Order allow,deny                   #deny禁止訪問源代碼
        Deny from all
        </FileMatch>
    </Directory>

查看設置是否成功瀏覽器

[root@localhost 111.com]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@localhost 111.com]# /usr/local/apache2.4/bin/apachectl graceful
[root@localhost 111.com]# !curl                            #解析php

在最上面添加內容 輸入圖片說明服務器

測試:curl

[root@localhost 111.com]#  mkdir upload                        #建立upload目錄
[root@localhost 111.com]#  ls
123.php  admin  index.php qq.png   upload
[root@localhost 111.com]#  cp 123.php upload/                #123.php 拷貝到upload目錄下
[root@localhost 111.com]# !curl 
curl -x 192.168.168.133:80 'http://111.com/admin.php?' I

curl測試時直接返回了php源代碼,並未解析socket

11.29 限制user_agentxss

user_agent能夠理解爲瀏覽器標識測試

核心配置文件內容

<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_agent

11.30/11.31 php相關配置

查看php配置文件位置

/usr/local/php/bin/php -i|grep -i "loaded configuration file" 
 date.timezone 
 disable_functions
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 
 error_log, log_errors, display_errors, error_reporting
 open_basedir
 php_admin_value open_basedir "/data/wwwroot/111.com:/tmp/"

常見問題:

設置php_admin_flag engine off後,curl -I訪問狀態碼是200,這是否正確? 輸入圖片說明

答:解析不解析php,跟狀態碼是不是200沒有關係。 你上面的顯示結果表示,php已經沒法解析了。

連接:https://www.cnblogs.com/wangshaojun/p/5034616.html

擴展 apache開啓壓縮 http://ask.apelearn.com/question/5528

apache2.2到2.4配置文件變動 http://ask.apelearn.com/question/7292

apache options參數 http://ask.apelearn.com/question/1051

apache禁止trace或track防止xss http://ask.apelearn.com/question/1045

apache 配置https 支持ssl http://ask.apelearn.com/question/1029

相關文章
相關標籤/搜索