首頁 > 後端開發 > php教程 > 如何建立安全且無錯誤的 PHP MySQL 程式碼範例?

如何建立安全且無錯誤的 PHP MySQL 程式碼範例?

Mary-Kate Olsen
發布: 2024-12-14 03:30:10
原創
868 人瀏覽過

How to Create a Secure and Error-Free PHP MySQL Code Sample?

使用MySQL 擴充功能的完美程式碼範例

問題:

問題:

在尋求一個用於安全且無錯誤的PHP 資料庫查詢的社群學習資源,這個假設的問題提出了產生完美程式碼的任務使用MySQL擴展的範例。目標是解決 SQL 注入、錯誤報告和 XSS 注入等常見問題。

解決方案:
<?php

header('Content-type: text/html; charset=utf-8');
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);

$config = array(
    'host' => '127.0.0.1',
    'user' => 'my_user',
    'pass' => 'my_pass',
    'db' => 'my_database'
);

$connection = @mysql_connect($config['host'], $config['user'], $config['pass']);

if (!$connection) {
    trigger_error('Unable to connect to database: ' . mysql_error(), E_USER_ERROR);
}

if (!mysql_select_db($config['db'])) {
    trigger_error('Unable to select db: ' . mysql_error(), E_USER_ERROR);
}

if (!mysql_set_charset('utf8')) {
    trigger_error('Unable to set charset for db connection: ' . mysql_error(), E_USER_ERROR);
}

$result = mysql_query(
    'UPDATE tablename SET name = "'
    . mysql_real_escape_string($_POST['name'])
    . '" WHERE id = "'
    . mysql_real_escape_string($_POST['id']) . '"'
);

if ($result) {
    echo htmlentities($_POST['name'], ENT_COMPAT, 'utf-8') . ' updated.';
} else {
    trigger_error('Unable to update db: ' . mysql_error(), E_USER_ERROR);
}
登入後複製

解決處理使用者輸入和確保資料的複雜性完整性,提供的解決方案優先考慮安全性和簡單性。
  • 此程式碼範例封裝了以下金鑰原則:
  • 處理更廣泛資料類型的 unicode 字元集。
  • 利用鬆散比較來增強可讀性。
  • 建立資料庫連線並選擇特定的資料庫連線。用於操作的資料庫。
  • 透過使用轉義使用者輸入來防止 SQL 注入mysql_real_escape_string()。
在失敗時使用trigger_error() 優雅地處理錯誤,同時在生產模式下抑制錯誤訊息。 成功完成資料庫更新後輸出預期訊息。

以上是如何建立安全且無錯誤的 PHP MySQL 程式碼範例?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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