3 回答

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
我個(gè)人更喜歡準(zhǔn)備好的陳述:
<?php
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?");
if ($stmt->execute(array($_GET['name']))) {
while ($row = $stmt->fetch()) {
print_r($row);
}
}
?>
忽略使用其中一個(gè)*escape_string()功能時(shí)遺漏的一個(gè)或另一個(gè)特定變量是很容易的,但是如果所有查詢都是準(zhǔn)備好的語(yǔ)句,那么它們都很好,并且插值變量的使用會(huì)像拇指一樣突出。
但是,這還遠(yuǎn)遠(yuǎn)不足以確保您不會(huì)受到遠(yuǎn)程攻擊:如果您通過(guò)&admin=1with GET或POST要求表明某人是管理員,則您的每個(gè)用戶都可以在兩到三秒鐘內(nèi)輕松升級(jí)其特權(quán)。努力。請(qǐng)注意,這個(gè)問(wèn)題并不總是那么明顯:),但這是一種簡(jiǎn)單的方式來(lái)解釋過(guò)多信任用戶提供的輸入的后果。
添加回答
舉報(bào)