奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

php語言

六個常見PHP安全性攻擊

時間:2025-05-04 03:32:03 php語言 我要投稿
  • 相關推薦

六個常見PHP安全性攻擊

  了解常見的PHP應用程序安全威脅,可以確保你的PHP應用程序不受攻擊。下面是小編整理了六個常見PHP安全性攻擊,歡迎閱讀!

  1、SQL注入

  SQL注入是一種惡意攻擊,用戶利用在表單字段輸入SQL語句的方式來影響正常的SQL執行。還有一種是通過system()或exec()命令注入的,它具有相同的SQL注入機制,但只針對shell命令。
  $username = $_POST['username'];
  $query = "select * from auth where username = '".$username."'";echo $query;$db = new mysqli('localhost', 'demo', ‘demo', ‘demodemo');$result = $db->query($query);if ($result && $result->num_rows) {
  &nbsp;&nbsp;&nbsp; echo "<br />Logged in successfully";} else {&nbsp;&nbsp;&nbsp; echo "<br />Login failed";}
  上面的代碼,在第一行沒有過濾或轉義用戶輸入的值($_POST['username'])。因此查詢可能會失敗,甚至會損壞數據庫,這要看$username是否包含變換你的SQL語句到別的東西上。
  防止SQL注入
  選項:
  使用mysql_real_escape_string()過濾數據
  手動檢查每一數據是否為正確的數據類型
  使用預處理語句并綁定變量
  使用準備好的預處理語句
  分離數據和SQL邏輯
  預處理語句將自動過濾(如:轉義)
  把它作為一個編碼規范,可以幫助團隊里的新人避免遇到以上問題$query = 'select name, district from city where countrycode=?';if ($stmt = $db->prepare($query) ){
  &nbsp;&nbsp;&nbsp; $countrycode = 'hk';
  &nbsp;&nbsp;&nbsp; $stmt->bind_param("s", $countrycode);&nbsp;&nbsp;&nbsp; $stmt->execute();&nbsp;&nbsp;&nbsp; $stmt->bind_result($name, $district);&nbsp;&nbsp;&nbsp; while ( $stmt ($stmt->fetch() ){&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; echo $name.', '.$district;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; echo '<br />';&nbsp;&nbsp;&nbsp; }
  &nbsp;&nbsp;&nbsp; $stmt->close();
  }

  2、XSS攻擊

  XSS(跨站點腳本攻擊)是一種攻擊,由用戶輸入一些數據到你的網站,其中包括客戶端腳本(通常JavaScript)。如果你沒有過濾就輸出數據到另一個web頁面,這個腳本將被執行。
  接收用戶提交的文本內容
  <?php
  if (file_exists('comments')) {
  &nbsp;&nbsp;&nbsp; $comments = get_saved_contents_from_file('comments');} else {&nbsp;&nbsp;&nbsp; $comments = '';
  }
  if (isset($_POST['comment'])) {
  &nbsp;&nbsp;&nbsp; $comments .= '<br />' . $_POST['comment'];&nbsp;&nbsp;&nbsp; save_contents_to_file('comments', $comments);}
  ?>
  輸出內容給(另一個)用戶
  <form action='xss.php' method='POST'>
  Enter your comments here: <br />
  <textarea name='comment'></textarea> <br />
  <input type='submit' value='Post comment' />
  </form><hr /><br />
  <?php echo $comments; ?>
  將會發生什么事?
  煩人的彈窗
  刷新或重定向
  損壞網頁或表單
  竊取cookie
  AJAX(XMLHttpRequest)
  防止XSS攻擊
  為了防止XSS攻擊,使用PHP的htmlentities()函數過濾再輸出到瀏覽器。htmlentities()的基本用法很簡單,但也有許多高級的控制,請參閱 XSS速查表。

  3、會話固定

  會話安全,假設一個PHPSESSID很難猜測。然而,PHP可以接受一個會話ID通過一個Cookie或者URL。因此,欺騙一個受害者可以使用一個特定的(或其他的)會話ID 或者釣魚攻擊。

  4、會議捕獲和劫持

  這是與會話固定有著同樣的想法,然而,它涉及竊取會話ID。如果會話ID存儲在Cookie中,攻擊者可以通過XSS和JavaScript竊取。如果會話ID包含在URL上,也可以通過嗅探或者從代理服務器那獲得。
  防止會話捕獲和劫持
  更新ID
  如果使用會話,請確保用戶使用SSL

  5、跨站點請求偽造(CSRF)

  CSRF攻擊,是指一個頁面發出的請求,看起來就像是網站的信任用戶,但不是故意的。它有許多的變體,比如下面的例子:
  <img src='http://example.com/single_click_to_buy.php?user_id=123&item=12345'>
  防止跨站點請求偽造
  一般來說,確保用戶來自你的表單,并且匹配每一個你發送出去的表單。有兩點一定要記住:
  對用戶會話采用適當的安全措施,例如:給每一個會話更新id和用戶使用SSL。
  生成另一個一次性的令牌并將其嵌入表單,保存在會話中(一個會話變量),在提交時檢查它。

  6、代碼注入

  代碼注入是利用計算機漏洞通過處理無效數據造成的。問題出在,當你不小心執行任意代碼,通常通過文件包含。寫得很糟糕的代碼可以允許一個遠程文件包含并執行。如許多PHP函數,如require可以包含URL或文件名,例如:
  <form>
  Choose theme:
  &nbsp;&nbsp;&nbsp; <select name = theme>
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <option value = blue>Blue</option>
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <option value = green>Green</option>
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <option value = red>Red</option>
  &nbsp;&nbsp;&nbsp; </select>
  &nbsp;&nbsp;&nbsp; <input type = submit>
  </form>
  <?php
  &nbsp;&nbsp;&nbsp; if($theme) {
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; require($theme.'.txt');&nbsp;&nbsp;&nbsp; }
  ?>
  在上面的例子中,通過傳遞用戶輸入的一個文件名或文件名的一部分,來包含以"http://"開頭的文件。
  防止代碼注入
  過濾用戶輸入
  在php.ini中設置禁用allow_url_fopen和allow_url_include。這將禁用require/include/fopen的遠程文件。
  其他的一般原則
  1. 不要依賴服務器配置來保護你的應用,特別是當你的web服務器/ PHP是由你的ISP管理,或者當你的網站可能遷移/部署到別處,未來再從別處遷移/部署在到其他地方。請在網站代碼中嵌入帶有安全意識的檢查/邏輯(HTML、JavaScript、PHP,等等)。
  2. 設計服務器端的安全腳本:
  —例如,使用單行執行 - 單點身份驗證和數據清理—例如,在所有的安全敏感頁面嵌入一個PHP函數/文件,用來處理所有登錄/安全性邏輯檢查3. 確保你的代碼更新,并打上最新補丁。


 


【六個常見PHP安全性攻擊】相關文章:

了解常見的php的sql注入式攻擊08-12

了解常見的php中sql注入式攻擊10-15

淺談PHP 安全性09-28

php防止SQL注入攻擊與XSS攻擊方法08-07

PHP安全性漫談07-20

php防止SQL注入攻擊與XSS攻擊的方法07-01

php過濾XSS攻擊的函數10-16

PHP漏洞:命令注入攻擊10-23

PHP中的安全性知識10-31

主站蜘蛛池模板: 嘉义市| 宜宾市| 西充县| 枣庄市| 额敏县| 利津县| 栾川县| 土默特右旗| 西昌市| 宝坻区| 饶河县| 开封县| 宣汉县| 安西县| 图木舒克市| 霸州市| 左云县| 秦皇岛市| 靖江市| 石城县| 饶河县| 琼中| 鲁山县| 合阳县| 密山市| 招远市| 宾阳县| 军事| 漳浦县| 三台县| 客服| 赤峰市| 武穴市| 工布江达县| 松江区| 兴山县| 盐源县| 册亨县| 新晃| 瓦房店市| 茶陵县|