2016-11-08 26 views
0

可以說,我有以下代碼:有人可以改變一個網站從MySQL數據庫接收信息

$fetchlast1 = mysql_query("SELECT * FROM tableOne WHERE name='billy'"); 
    while ($row = mysql_fetch_array($fetchlast1)) { 
        $id = $row[1]; 
        if($id == '23'){ 
        //give admin privileges. 
        } 
    } 

因此,可以說$ id的值原來是「45」而不是「23」。技術人員或任何人都能以某種方式將接收到的值改爲'23'並因此獲得管理員權限?

+4

如果沒有任何用戶輸入,然後我會說沒有。不過你應該切換到更新的API。 –

+0

對於靜態查詢,也沒有辦法通過@弗雷德-II- – Rahul

+2

***請[停止使用'mysql_ *'功能(如http://stackoverflow.com/questions/12859942/why-shouldnt-i-正確地指出使用mysql-functions-in-php)*** [這些擴展](http://php.net/manual/en/migration70.removed-exts-sapis.php)已在PHP 7中刪除。 [編寫](http://en.wikipedia.org/wiki/Prepared_statement)對[PDO](http://php.net/manual/en/pdo.prepared-statements.php)和[MySQLi](http ://php.net/manual/en/mysqli.quickstart.prepared-statements.php),並考慮使用PDO,[它真的很容易(http://jayblanchard.net/demystifying_php_pdo.html)。 –

回答

-1

答案是肯定的沒有。如果你的值在代碼中硬編碼,那麼就沒有SQL注入的機會。這取決於您的查詢方式(包括'billy')(請閱讀更多mysqli prepared statements)。與此查詢一起使用時,您的物流操作也沒有任何意義。

我也強烈建議你在PHP中使用mysqli的(MySQL的改進語法)開始編程。

+1

[呀,我說。(http://stackoverflow.com/questions/40494811/can-someone-change-the-information-一,網站接收從 - 一個MySQL的數據庫#comment68233738_40494811) –

+0

增加預處理語句是獎金;-) –

+0

@弗雷德-II-,你:) – Rahul

相關問題