PHP-安全问题。SQL注入/XSS对我安全吗
这个问题无处不在,我看到了很多答案。很多人建议使用mysql\u real\u escape\u字符串,但这不是一个选项,因为它现在已经贬值了。 作为PHP/SQL的新手,尤其是在安全方面,我只希望你们中的一些人能够在这里提供帮助。我知道,事实上,我已经使用的一些程序有助于安全(例如:我以前在定义查询参数时没有使用:pname。这导致SQL将“values”等提交解释为实际命令;drop table dbname;将我从未执行的命令中解救出来的一件事是将空格转换为下划线) “search_submit.PHP”中的PHP代码PHP-安全问题。SQL注入/XSS对我安全吗,php,mysql,xss,sql-injection,Php,Mysql,Xss,Sql Injection,这个问题无处不在,我看到了很多答案。很多人建议使用mysql\u real\u escape\u字符串,但这不是一个选项,因为它现在已经贬值了。 作为PHP/SQL的新手,尤其是在安全方面,我只希望你们中的一些人能够在这里提供帮助。我知道,事实上,我已经使用的一些程序有助于安全(例如:我以前在定义查询参数时没有使用:pname。这导致SQL将“values”等提交解释为实际命令;drop table dbname;将我从未执行的命令中解救出来的一件事是将空格转换为下划线) “search_sub
<?php
$pname=str_replace(' ','_',strtolower($_GET['pname']));
require 'connection.php';
if(isset($_GET['pname'])){
if(preg_match("/\w/i", $_GET['pname'])){
$query="SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = :pname;";
$query_params = array(
':pname' => str_replace(' ','_',strtolower($_GET['pname']))
);
$prep=$conn->prepare($query);
$result=$prep->execute($query_params) or die("failed!");
$row = $prep->fetch();
if($row)
{
die("Exists");
}
else{
echo("doesn't");
}
}
}
else{
echo "<p>Error</p>";
}
?>
你可以在评论博客上询问的代码评论问题,这里是你提问的时间,你有错误。Will do。我不知道存在这样的问题,看到很多人在这里问类似的问题。抱歉。一个简单的方法是自己尝试攻击?
<form method="get" action="search_submit.php" id="searchform">
<input type="text" name="pname">
<input type="submit" name="input" value="Search">