php函數的學習筆記

不言
發布: 2023-03-24 08:56:02
原創
1844 人瀏覽過

這篇文章介紹的內容是關於php函數的學習筆記,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

#    
$_SERVER["PHP_SELF"] 一種超全域變數。傳回目前執行腳本的檔案名稱。
htmlspacialchars(var) 把特定字元轉換為HTML實體。可防止攻擊者透過在表單中註入HTML或JavaScript程式碼(跨站點腳本攻擊)對程式碼進行利用。

應用程式:$_SERVER["PHP_SELF"]變數能夠被駭客利用。如果你的頁面使用了PHP_SELF,使用者能夠輸入底線然後執行跨站點腳本(XSS)。 

提示:跨站點腳本(Cross-site scripting,XSS)是一種電腦安全漏洞類型,常見於web應用程式。 XSS能夠使攻擊者在其他使用者瀏覽的網頁中輸入客戶端腳本。

範例:test.php頁面中有表單:

<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
登入後複製

如果網址列中是正常URL:hhtp://www.example.com/test.php,上面程式碼會轉換為:

<form method="post" action="test.php">
登入後複製

一旦輸入:http://www.example.com/test.php/"><script>alert('hacked')</script>,上面程式碼會轉換成:

<form method="post" action="test.php"/><script>alert(&#39;hacked&#39;);</script>
登入後複製

使用htmlspecialchars()函數避免上述情況,表單程式碼:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
登入後複製

此時輸入http://www.example.com/test.php/"><script>alert('hacked' )</script>,上面程式碼會轉換成:

<form method="post" action="test.php/"><script>alert(&#39;hacked&#39;)</script>"
登入後複製
無法利用,沒有傷害。
trim(var) 取出多餘的空格、製表符、換行
stripslashes(var) 刪除反斜線(\)
$_SERVER["REQUEST_METHOD"]  
empty( var) 判斷變數是否已經賦予資料且不為空。 ‘’、null、false、00、0、'0'、未定義、array()、var $var都回傳true。
isset(var[,var[,...]]) 檢測變數是否已經宣告。未定義變數傳回true。 unset一個變數後,變數被取消了。
is_null(var) 檢查值、變數、表達式是否為null。未定義變數傳入也會回傳true,但會報錯!
defined(var) 檢測常數是否已宣告。

1、empty、isset首先都會檢查變數是否存在,然後再偵測變數值。而is_null只是直接檢查變數值,是否為null。

2、empty、isset輸入參數必須是一個變量,而is_null輸入參數只要是能夠有返回值就可以(常數,變量,表達式等)。在php手冊裡,對於他們解析是:empty,isset是一個語言結構而非函數,因此它無法被變數函數呼叫。

preg_match(正規表示式,變數) 檢索字串的模式,如果模式存在則傳回true,否則傳回false。
   
 
   
   
 
 
 
 

 

 

 



 ###### ################相關推薦:########10個鮮為人知但非常有用的PHP函數############php函數不定義參數方法########################

以上是php函數的學習筆記的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板