好的,我的代码是根据用户帐号提取数据的代码
这里是我正在使用的(是的,我知道它现在不安全,这是我发布的原因)
<?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方法确实不安全,无法从网址栏中检索帐号。
答案 0 :(得分:0)
你是来自另一个应该POST数据而不是GET的页面吗?
从GET获取信息并不是非常危险。您只需要确保使用mysql_real_escape_string()
转义值,例如:
$user_info = fetch_user_info(mysql_real_escape_string($_GET['AccountNumber']));
这将保护您免受SQL注入攻击。更好的方法是使用准备好的陈述和PDO。
我们无法准确判断您正在运行的查询或查询,因为所有这些逻辑都隐藏在fetch_user_info后面,而您没有包含其来源。如果您包含该代码,我们可以帮助更多地保护它。
答案 1 :(得分:0)
如果您只想显示当前用户个人资料,则应在用户登录时将用户ID或帐号存储在会话中。然后在您的个人资料页面上从会话中检索帐号并显示详细信息。如果没有活动会话,则可以将用户重定向到登录页面。