1

好的,我得到了代码来根据用户帐号提取数据

好吧,这就是我正在使用的东西(是的,我知道现在不安全,这就是我发帖的原因)

<?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 栏中检索帐号确实不安全。

4

2 回答 2

0

您是否来自另一个应该发布数据而不是 GET 的页面?

从 GET 获取信息并不是很危险。您只需要确保使用 转义该值mysql_real_escape_string(),例如:

$user_info = fetch_user_info(mysql_real_escape_string($_GET['AccountNumber']));

这将保护您免受 SQL 注入攻击。更好的是使用准备好的语句和PDO

我们无法确切知道您现在正在运行什么查询,因为所有这些逻辑都隐藏在 fetch_user_info 后面,而您没有包含其源代码。如果您包含该代码,我们可能会帮助保护它。

于 2012-12-13T04:53:45.580 回答
0

如果您只想显示当前用户的个人资料,您应该在用户登录时将用户 ID 或帐号存储在会话中。然后在您的个人资料页面上从会话中检索帐号并显示详细信息。如果没有活动会话,则可以将用户重定向到登录页面。

于 2012-12-13T05:00:59.257 回答