किसी कारण से हमें बैकस्लैश से बचने की भी आवश्यकता है। ए> भी।
तो, उचित कोड होगा, मुझे विश्वास है
if(isset($_GET['q'])){
$_GET['q'] = trim($_GET['q']);
if(strlen($_GET['q']) >= 2){
$q = $_GET['q'];
$q = '%'.addCslashes($q, '\%_').'%';
// now we have the value ready either for escaping or binding
$q = mysql_real_escape_string($q);
$sql = "SELECT name, age, address FROM book WHERE name LIKE '$q'";
//or
$sql = "SELECT name, age, address FROM book WHERE name LIKE ?";
$stm = $pdo->prepare($sql);
$stm->execute(array($q));
$data = $stm->fetchAll();
}
}
आउटपुट के लिए, उपयोग करें
echo htmlspecialchars($_GET['q']);
यहां स्ट्रिपस्लैश की जरूरत नहीं है।
यदि आप उनका उपयोग नहीं करेंगे तो मैजिक कोट्स आपकी सुरक्षा को नुकसान नहीं पहुंचाएंगे। अगर mysql(i)_set_charset
या डीएसएन (पीडीओ के मामले में) का उपयोग इस उद्देश्य के लिए किया गया था - आप फिर से सुरक्षित हैं।
पीडीओ के लिए, एक टैग विकी स्टार्टर के लिए पर्याप्त होना चाहिए, मेरा मानना है