国产精品久久久毛片无码电影,亚洲黄网站,永久黄网站色视频免费观看99,国产美女久久久亚洲,24小时免费直播在线观看

PHP編程中,關(guān)于$_REQUEST獲取參數時(shí)防SQL注入和XSS的代碼。

為了防止SQL注入,使用參數化查詢(xún)是最有效的方式。以下是一個(gè)示例代碼,演示如何在PHP中使用$_REQUEST獲取參數,并通過(guò)PDO(PHP Data Objects)執行安全的SQL查詢(xún):


php代碼

<?php

// 數據庫連接配置

$dsn = 'mysql:host=localhost;dbname=testdb';

$username = 'root';

$password = '';


// 創(chuàng )建PDO實(shí)例并設置錯誤模式為異常

try {

    $pdo = new PDO($dsn, $username, $password);

    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch (PDOException $e) {

    die('數據庫連接失敗: ' . $e->getMessage());

}


// 從請求中獲取參數

$id = isset($_REQUEST['id']) ? $_REQUEST['id'] : null;


// 使用參數化查詢(xún)防止SQL注入

if ($id !== null) {

    $sql = 'SELECT * FROM users WHERE id = :id';

    $stmt = $pdo->prepare($sql);

    $stmt->bindParam(':id', $id, PDO::PARAM_INT);


    $stmt->execute();

    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);


    // 輸出查詢(xún)結果

    echo '<pre>';

    print_r($result);

    echo '</pre>';

} else {

    echo '參數id缺失';

}

?>

在這段代碼中,我們使用PDO來(lái)創(chuàng )建數據庫連接,并通過(guò)prepare和bindParam方法進(jìn)行參數化查詢(xún),這樣可以有效防止SQL注入攻擊。

image.png

在PHP中使用$_REQUEST獲取參數時(shí),通常需要進(jìn)行過(guò)濾和驗證,以確保數據的安全性和有效性。以下是一個(gè)示例代碼,演示如何對$_REQUEST參數進(jìn)行基本的過(guò)濾:


php代碼:

<?php

// 獲取并過(guò)濾參數

$id = isset($_REQUEST['id']) ? trim($_REQUEST['id']) : null;

$name = isset($_REQUEST['name']) ? trim($_REQUEST['name']) : null;


// 過(guò)濾參數(避免SQL注入和XSS攻擊)

$id = filter_var($id, FILTER_SANITIZE_NUMBER_INT);

$name = filter_var($name, FILTER_SANITIZE_STRING);


// 驗證參數(根據需求調整驗證規則)

if ($id && filter_var($id, FILTER_VALIDATE_INT) === false) {

    die('無(wú)效的ID參數');

}


if ($name && !preg_match('/^[\p{L} ]+$/u', $name)) {

    die('無(wú)效的名稱(chēng)參數');

}


// 繼續處理過(guò)濾后的參數

echo 'ID: ' . htmlspecialchars($id, ENT_QUOTES, 'UTF-8') . '<br>';

echo 'Name: ' . htmlspecialchars($name, ENT_QUOTES, 'UTF-8') . '<br>';

?>

在這段代碼中,我們首先使用trim去除參數的前后空白,然后使用filter_var函數對參數進(jìn)行基本的過(guò)濾。FILTER_SANITIZE_NUMBER_INT用于清理非數字字符,FILTER_SANITIZE_STRING用于清理HTML標簽和特殊字符。接著(zhù),我們使用正則表達式和filter_var對參數進(jìn)行驗證,確保數據符合預期格式。最后,使用htmlspecialchars防止XSS攻擊。


上一篇:網(wǎng)站開(kāi)發(fā)最佳實(shí)踐:提升順德企業(yè)用戶(hù)體驗的關(guān)鍵策略
下一篇:沒(méi)有了!
?