这是我的代码,在用户登录时插入单个IP地址值。 如果用户尝试从其他IP登录,则用户将收到要确认的电子邮件。用户单击电子邮件中发送的链接后,将更新IP地址。我希望在用户确认其身份时存储所有IP,而不是更新IP地址,以便用户能够登录我们存储在阵列中的相同IP。
基本上我想将IP地址存储为数组。
<?php
include 'header.php';
include('config.php');
$eemail=$_GET['email'];
if(isset($_POST['scode']))
{
$unncode=$_POST['uncode'];
$sql1="SELECT * FROM nennetwork WHERE code ='$unncode'";
$res=mysql_query($sql1);
$rows = mysql_fetch_array($res);
$ccode = $rows['code'] ;
if($unncode==$ccode)
$eemail=$_GET['email'];
$ips = $_SERVER['REMOTE_ADDR'];
if(mysql_query("update nennetwork set useripp= '".$ips ."' WHERE email ='$eemail'"))
{
$mmmsg= "You can <a href='".'index.php'."' class='ac'>Login</a> if the code matches the code that we have sent you.";
}
else{
$mmmsg="Please submit the numeric code that we sent to your email.";
}}
?>
答案 0 :(得分:0)
好的,除了SQL注入的大量案例(在php.net上阅读php-pdo,非常简单易用的例子)。
您无法插入的麻烦查询:
if(mysql_query(“update nennetwork set useripp ='”。$ ips。“'WHERE email ='$ eemail'”))
可以替换为:
INSERT INTO nennetwork (useripp, email) VALUES (?,?)
ON DUPLICATE KEY UPDATE useripp=?;
为此,您需要1个索引:
CREATE UNIQUE INDEX idx_nennetwork_nn_1 ON nennetwork(email);
这将导致重复键触发更新或插入,具体取决于所涉及的数据。
(阅读php-pdo如何获取?,?和?被绑定变量和一些更安全的代码替换。)
答案 1 :(得分:0)
正确规范化数据,这样就不需要在表中存储数组了。
在这种情况下,您应该有一个包含IP地址的单独表:
CREATE TABLE your_user_ip (
id int primary key auto_increment,
userid int not null
ip varchar(5) not null);
答案 2 :(得分:0)
使用它。
您的代码中存在一些错误。
var slider = $('#slides img');
$(document).ready(function(){
$("#change").click(function(){
slider[clickCount].css("visibility","hidden");
});
});
和SQL表应该是
include 'header.php';
include('config.php');
$eemail=$_REQUEST['email'];
if(isset($_POST['scode']))
{
$unncode=$_POST['uncode'];
$sql1="SELECT * FROM nennetwork WHERE code ='$unncode'";
$res= mysql_query($sql1);
$count = count($res);
if(empty($count))
{
echo 'Query is empty ';
}
else
{
$rows = mysql_fetch_array($res);
$ccode = $rows['code'] ;
if($unncode == $ccode)
{
$eemail = $_REQUEST['email'];
$ips = $_SERVER['REMOTE_ADDR'];
if(mysql_query("update nennetwork set useripp= '$ips ' WHERE email ='$eemail'"))
{
$mmmsg= "You can <a href='".'index.php'."' class='ac'>Login</a> if the code matches the code that we have sent you.";
}
else
{
$mmmsg="Please submit the numeric code that we sent to your email.";
}
}
else
{
echo "unncode not matced with ccode ";
}
}
}