[英]How to protect search page on PHP with PDO statement
我有带有代码的简单搜索页面:
$keywords = str_replace(' ','%',$_POST['keywords']);
if(isset($_POST['search']) && !empty($keywords)) {
$stmt = $pdo->prepare("SELECT ... WHERE `tags` LIKE ? OR `tags` LIKE ? OR `tags` LIKE ?");
$stmt->execute(array("$keywords %", "% $keywords %", "% $keywords"));
foreach($stmt as $row){
echo ...;
}
}
如何尽可能保护此页面? 问题包括:对PDO使用mysql_real_escape_string和stripslashes是否正确,还是有其他类似的东西?
PS。 目前,我仅使用include('../ dbconfig.php')将dbconfig上移了一层,并移出了public_html文件夹。
您正在使用准备好的语句,这是正确的方法。 我建议以前使用PHP 过滤器清理用户提交的数据。
$keywords=filter_var($_POST['keywords'], FILTER_SANITIZE_STRING);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.