當談到PHP時,我有些小氣,所以如果這是非常基本的道歉。這個問題可能以前曾被問過,但我無法找到與我的類似案例的另一篇文章。 我網站上的URL示例是example.com/read.php?id=1。該read.php文件包含以下代碼:PHP從數據庫中讀取字符串時的淨化字符串
<?php
$id = $_GET['id'];
$sql = mysqli_query($con, "SELECT * FROM pages WHERE id='$id'");
?>
我知道我需要做一些衛生到這一點,但是這將是在這種情況下,這樣做的最佳方式?性能也很重要,所以我不想添加不必要的代碼。
從這裏開始=> http://stackoverflow.com/q/60174/並使用[** prepared statements **](http://www.php.net/manual /en/mysqli.quickstart.prepared-statements.php)或[** PDO **](http://php.net/pdo) –
如果性能確實非常重要,那麼可以將該值轉換爲整數甚至刪除變量周圍的引號。但是,準備好的聲明可能是最好的解決方案...... – jeroen
性能永遠不會比安全性更重要 –