微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 SQL 保护 php GET

如何解决使用 SQL 保护 php GET

有什么建议我如何保护下面的 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);
?>

解决方法

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。