為PHP部署AcuSensor
為PHP部署AcuSensor
要部署AcuSensor,您應該記住,我們需要使用的機制是調用PHP指令“ auto_prepend_file”,并將該指令指向AcuSensor PHP文件。
部署AcuSensor代理需要3個步驟。
步驟1: 為您的目標下載AcuSensor代理。
可在以下位置找到下載AcuSensor代理文件的說明:
https://www.acunetix.com/support/docs/installing-acusensor/.
步驟2:將AcuSensor代理復制到目標。
就本文檔而言,我們假設我們將在操作系統的ROOT文件夾內創建一個專用文件夾來容納AcuSensor代理。
在Windows下:
- 創建一個文件夾“ C:\ acusensor \”
- 將acu_phpaspect.php文件復制到“ C:\ acusensor \”
在Linux下:
- 運行以下命令:mkdir / acusensor /
- 使用“cd”導航到包含已下載的AcuSensor代理文件的文件夾,然后運行以下命令:cp acu_phpaspect.php / acusensor /
步驟3:配置Web服務器以調用“auto_prepend_file”指令
在帶有IIS的Windows下:
- 確定包含您網站中的PHP指令的php.ini文件。如果您的網站具有自己的INI文件(通常在網站的根文件夾中為“ .user.ini”文件),則需要在該網站的特定INI文件中添加一行。否則,您將需要在常規php.ini文件中添加一行——請記住,這會影響Web服務器上的所有網站。要添加的行是:
auto_prepend_file =“ c:\ acusensor \ acu_phpaspect.php”
- 確定包含您網站中的PHP指令的php.ini文件。如果您的網站具有自己的INI文件(通常在網站的根文件夾中為“ .user.ini”文件),則需要在該網站的特定INI文件中添加一行。否則,您將需要在常規php.ini文件中添加一行——請記住,這會影響Web服務器上的所有網站。要添加的行是:
在Windows下使用Apache:
- 選項1:將此行添加到網站根文件夾中的.htaccess文件中:
php_value auto_prepend_file C:\acusensor\acu_phpaspect.php - 選項2:確定包含您網站的PHP指令的php.ini文件。在64位“ wampserver”安裝中,通常要編輯的文件為“ C:\ wamp64 \ bin \ php \ php7.3.12 \ phpForApache.ini”。將此行添加到文件中:
auto_prepend_file =“ c:\ acusensor \ acu_phpaspect.php”
- 選項1:將此行添加到網站根文件夾中的.htaccess文件中:
在具有Apache的Linux下:
- 選項1:將此行添加到網站根文件夾中的.htaccess文件中:
php_value auto_prepend_file /acusensor/acu_phpaspect.php - 選項2:確定包含您網站的PHP指令的php.ini文件。如果您的網站具有自己的INI文件(通常在網站的根文件夾中為“ .user.ini”文件),則需要在該網站的特定INI文件中添加一行。否則,您將需要在常規php.ini文件中添加一行-請記住,這會影響Web服務器上的所有網站。要添加的行是:
auto_prepend_file = /acusensor/acu_phpaspect.php
- 選項1:將此行添加到網站根文件夾中的.htaccess文件中:
在具有NGINX的Linux下:
- 選項1:識別您的NGINX conf文件(例如/etc/nginx/sites-enabled/mysite.conf),并在“位置?\ .php $”部分中,添加一行,如下所示:
fastcgi_param PHP_VALUE“ auto_prepend_file = /acusensor/acu_phpaspect.php”; - 選項2:確定包含您網站的PHP指令的php.ini文件。如果您的網站具有自己的INI文件(通常在網站的根文件夾中為“ .user.ini”文件),則需要在該網站的特定INI文件中添加一行。否則,您將需要在常規php.ini文件中添加一行——請記住,這會影響Web服務器上的所有網站。要添加的行是:
auto_prepend_file = /acusensor/acu_phpaspect.php
- 選項1:識別您的NGINX conf文件(例如/etc/nginx/sites-enabled/mysite.conf),并在“位置?\ .php $”部分中,添加一行,如下所示:
我的php.ini文件在哪里?
用phpinfo()臨時創建一個簡單的PHP文件;——“已加載的配置文件”是您需要更改的常規php.ini文件。

切記:您應該始終從Web應用程序中刪除任何phpinfo()頁面——這種文件所披露的信息本身就是一個漏洞,并為惡意黑客提供了必要的信息,可以利用這些信息來對您的Web應用程序進行攻擊。
適用于Apache + PHP + AcuSensor的簡單Docker示例
步驟1:準備示例網站。對于此單頁示例,以下是/home/myuser/www/index.php的內容:
<?php echo“ Hello World!”; ?><?php phpinfo(); ?>
步驟2:為網站配置AcuSensor代理的加載;/home/myuser/www/.htaccess的內容:
php_value auto_prepend_file /var/www/mysite/acu_phpaspect.php
步驟3:為網站配置Apache配置:/home/myuser/mysite-apache.conf的內容:
<VirtualHost *:80> ServerAdmin me@mydomain.com DocumentRoot / var / www / mysite <目錄/ var / www / mysite /> 選項索引FollowSymLinks多視圖 允許全部覆蓋 拒絕訂單,允許 全部允許 </目錄> 錯誤日志$ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} /access.log合并</ VirtualHost>
步驟4:將acu_phpaspect.php文件放在/ home / myuser / www中
第5步:配置用于構建容器的Dockerfile:/ home / myuser / Dockerfile的內容:
來自ubuntu:latest維護者Kevin Attard Compagno <kac@acunetix.com>#安裝apache,PHP運行apt更新運行apt-get -y升級RUN DEBIAN_FRONTEND =非交互式apt-get -y install apache2 php libapache2-mod-php#暴露apache展覽80#復制網站和AcuSensor代理到位復制www / var / www / mysite#使用網站配置更新默認的Apache網站復制mysite-apache.conf /etc/apache2/sites-enabled/000-default.conf#在前臺啟動apacheCMD / usr / sbin / apache2ctl -D FOREGROUND
步驟6:建立容器。從docker機器上運行以下命令:
cd / home / myuserdocker build -t mysite。
卸載AcuSensor
- 首先,您需要撤消對配置文件所做的更改,以調用“ auto_prepend_file”指令
- 接下來,如下所示刪除AcuSensor代理文件:
- 在Windows下,刪除“ C:\ acusensor \ acu_phpaspect.php”文件,然后刪除“ C:\ acusensor”文件夾
- 在Linux下,運行以下命令:
- rm /acusensor/acu_phpaspect.php
- rmdir /acusensor/
注意:盡管Acunetix AcuSensor代理已使用唯一的內置強密碼保護,但建議不再使用AcuSensor客戶端文件,并從Web應用程序中刪除它們。
推薦文章: