簡體   English   中英

如何通過選擇html表行來安全地使用$ _GET ['id']從數據庫獲取詳細信息

[英]How to safely use $_GET['id'] to get details from database by selecting html table row

因此,我有此工作代碼可單擊鏈接,以在輸入文本框中的另一頁上顯示數據庫的一行的詳細信息。

    <?php
            foreach ($allCentrifuge as $list) {
                $id = $list['id'];
                ?>
                <tr>
                    <td><?php echo $list['experiment'] ?></td>
                    <td><?php echo $list['project_name'] ?></td>
                    <td><?php echo $list['project_date'] ?></td>
                    <td><a href="../Views/user_centrifuge.php?id=<?php echo $list['id']?>">Details</a></td>
                </tr>
                <?php
            }
            ?>

並且此函數獲取那些詳細信息:

    public function fetchCentrifuge()
    {

        $uid = $_GET['id'];

        try {

            $stmt = $this->dbconn->prepare("SELECT * FROM centrifuge WHERE id = ?");
            $stmt->execute(array($uid));
            return $stmt->fetchAll();
        }

因此,從我讀過的所有主題來看,這顯然對SQL注入很危險。 但是,如何將這些代碼與准備好的語句一起使用? 我似乎無法使其與id占位符一起使用。

看起來不錯。 您還可以將輸入var強制轉換為INT。

(int)$_GET['id'] or intval($_GET['id'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM