【问题标题】:secure php GET with SQL [duplicate]使用 SQL 保护 php GET [重复]
【发布时间】:2021-03-11 08:53:52
【问题描述】:

任何建议我如何保护下面的 GET 代码以防止 SQL 注入或任何黑客活动?

http://localhost/hobby.php?hobby=soccer

<?php

include "connect.php";


$hobby = (isset($_GET['hobby'])) ? $_GET['hobby'] : '';
$hobby = str_replace("'", "''", $hobby);

$hobby = strip_tags($hobby);
$hobby = trim ($hobby);

if ($hobby != '') {
    
    $sql = "SELECT Name, Hobby from myself where Hobby like '%$hobby%'";

    $stmt = sqlsrv_query( $conn, $sql );
    
    $result = array();
    $row_check = sqlsrv_has_rows( $stmt );


    if ($row_check == true) {
        while ($row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)) {
            $result['Response'][] = array(
        'Name' => $row['Name'],
        'Hobby' => $row['Hobby']
            );
        }
    } 
    sqlsrv_free_stmt( $stmt);
    sqlsrv_close( $conn);
?>

【问题讨论】:

标签: php sql security get


【解决方案1】:

最好的办法是按照@giacomo-m 的建议使用 PDO

php.net/manual/en/book.pdo.php

【讨论】:

    猜你喜欢
    • 2019-05-25
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    • 2015-01-31
    • 1970-01-01
    相关资源
    最近更新 更多