首頁 > 資料庫 > mysql教程 > MySQLi 的「要嘛死」:安全風險還是必要之惡?

MySQLi 的「要嘛死」:安全風險還是必要之惡?

DDD
發布: 2025-01-03 06:17:08
原創
736 人瀏覽過

MySQLi's `or die`: Security Risk or Necessary Evil?

你真的需要 MySQLi 嗎?

使用MySQLi 查詢是常見的做法,如下面的程式碼所示:

$update_result = mysqli_query( $link , $sql_update_login ) or die ('Unable to execute query. '. mysqli_error($link));
登入後複製

但是,這樣做也有缺點方法:

  • 安全風險:模具可以向攻擊者洩漏敏感的系統資訊。
  • 使用者混淆:錯誤訊息可能會混淆非技術使用者。
  • 執行不完整: die 停止腳本過早地導致使用者沒有友善的介面。
  • 缺乏錯誤位置: die 沒有提供錯誤發生位置的指示。

而不是手動檢查錯誤,考慮配置MySQLi 在錯誤時拋出異常:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
登入後複製

這樣,可以編寫任何mysqli 命令,而無需need for or die:

$result = mysqli_query($link, $sql);
登入後複製

如果出現錯誤,將拋出異常,並提供有關問題的詳細資訊。

為了更徹底的生產就緒方法, PHP 中統一、高效的錯誤報告,請參閱 PHP 錯誤報告文章。

以上是MySQLi 的「要嘛死」:安全風險還是必要之惡?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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