好的,我得到了用于根据用户帐号提取数据的代码
好吧,这就是即时通讯所使用的(是的,我知道现在这是不安全的,这就是我发帖的原因)
<?php
include('config.php');
$user_info = fetch_user_info($_GET['AccountNumber']);
?>
<html>
<body>
<div>
<?php
if ($user_info === false){
$Output = 'http://www.MyDomain.Com/';
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$Output.'">';
}else{
?>
<center>
<title><?php echo $user_info['FirstName'], ' ', $user_info['LastName'], ' - ', $user_info['City'], ', ', $user_info['State']; ?> - Name of site</title>
因此,基本上该代码允许我执行的操作是拥有一个名为Profile.php的文件,当用户访问此页面时,它将返回数据。
像这样http://MyDomain.com/Profile.php?AccountNumber=50b9c965b7c3b
我如何才能安全地执行此操作,导致现在使用get方法从URL栏中检索帐号确实不安全。
最佳答案
您是否来自另一个应该发布数据而不是GET的页面?
从GET获取信息并不十分危险。您只需要确保使用mysql_real_escape_string()
转义该值,例如:
$user_info = fetch_user_info(mysql_real_escape_string($_GET['AccountNumber']));
这样可以保护您免受SQL注入攻击。更好的方法是使用准备好的语句和PDO。
我们无法确切判断您当前正在运行的查询是什么,因为所有这些逻辑都隐藏在fetch_user_info之后,而您未提供源代码。如果您包含该代码,我们可以帮助保护它。