web應用,客戶端(瀏覽器) -》服務器。服務器提供必要的應用服務,客戶端經過請求服務器中的資源來得到本身想要的服務。
常見的web服務應用框架:
windows+IIS+sql server/access+asp/aspx 解釋器:.net
linux + apache/nginx+mysql+php 解釋器:php
linux/unix/windows + tomcat/weblogic + oracle +jsp 解釋器:java
操做系統 + 中間件 + 數據庫
中間件、web容器、web服務器:腳本語言在中間件中執行
咱們的web語言運行的必要條件就是中間件可以解析。
gettest.php 由於是php後綴,因此中間件可以解析,解析事後就能使用腳本頁面中的擴展功能。
web根目錄--指的就是提供web服務目錄中的最頂層目錄。根目錄在url中表示是服務器地址後面的/ ,好比http://127.0.0.1/。
phpstudy的根目錄在c:\phpstudy\www\,換句話說,只有在根目錄下的文件資源纔是服務器能對外提供的資源,才能被外界訪問。
任何服務器中的應用資源都是放在web根目錄下供用戶訪問。
http://127.0.0.1/test/test.php
C:\phpstudy\WWW\test\test.php ---- 文件的絕對路徑
從安全的角度來講,須要尋找主動可控的點。對於可控點來講,最重要實際就是變量和函數。攻擊者經過控制變量進入高危函數中,造成安全威脅。
變量實質上是一種存儲器,它不是一個值,是不少個不停變化值的集合,而且實時更新。使用者指定它是什麼它就是什麼。
php中,聲明變量的符號是$。$後面的字符就是變量名。
函數指的是一種計算規則,變量被放在函數中進行計算,會根據函數的計算方法得出對應結果。php中函數的特徵是字符後面跟一對圓括號(),好比system(),就叫system函數。
函數在使用的時候有一些必要條件,變量必需知足函數計算所必需的個數,數據類型等才能實現。
字符類型,指的是咱們php代碼中的字符形式,字符類型關係到函數計算以及代碼運行。
php中的數據類型:
一、整數 int
二、字符串 str
三、浮點數/小數 float
四、數組 array ---數組就是集合,用方括號[]
五、布爾值 boolean ---true/false 1/0 success/fail
六、對象 obj
七、空值 null
$_GET['a']解釋:
$_GET是一個變量,變量名是_GET,$_GET的數據類型是數組,'a'是數組中的一個鍵。
```
array(1,2,'3')
```
1,2,'3'是數組中的值,每一個值都有一個對應的鍵對它進行索引匹配。沒有聲明鍵的數組,默認按照0,1,2...的順序進行鍵值配對。
$a = array(1,2,'3'); 若是隻想取出2這個值,應該怎麼表達?
php中使用中括號來取得中括號內中鍵所對應的值,$a[1]結果就是2
PHP弱類型漏洞,==和===的區別:
一、==判斷值,不判斷數據類型
二、===類型和值都要判斷
文件操做函數:對文件的讀取,寫入,PHP中主流有兩種
一、fopen() fwrite()fclose()
二、file_put_content() file_get_content()
使用fopen()打開了一條文件流通道,咱們的讀寫的數據都在通道中,當讀寫完以後,就要使用fclose()關閉
監控日誌的綁定能夠參考php配置。php