繁体   English   中英

如何使用PDO语句保护PHP上的搜索页面

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM