Javascript PHP-MySQL-注册问题[空白数据]
Javascript PHP-MySQL-注册问题[空白数据],javascript,php,mysql,registration,Javascript,Php,Mysql,Registration,我从2013年起就建立了一个网站。我已经注册了12000个用户。从5个月开始,我注意到一些空白用户。他们收到用户代码,但“姓名”、“姓氏”和“电子邮件”字段为空。 此事件每50/100用户注册一次。为什么?我什么都试过了,但在所有的测试中,没有数据我无法注册。另外,其他做过测试的人也不能在没有插入数据的情况下注册。 表格如下: <form action="script/****.php" method="post" onsubmit="return validate()"> <
我从2013年起就建立了一个网站。我已经注册了12000个用户。从5个月开始,我注意到一些空白用户。他们收到用户代码,但“姓名”、“姓氏”和“电子邮件”字段为空。
此事件每50/100用户注册一次。为什么?我什么都试过了,但在所有的测试中,没有数据我无法注册。另外,其他做过测试的人也不能在没有插入数据的情况下注册。 表格如下:
<form action="script/****.php" method="post" onsubmit="return validate()">
<label for="name">Name</label>
<input type="text" id="name" name="name" <?php if($_REQUEST['name'] != "") echo "value='".$_REQUEST['name']."'"; ?> />
<label for="surname">Surname</label>
<input type="text" id="surname" name="surname" <?php if($_REQUEST['surname'] != "") echo "value='".$_REQUEST['surname']."'"; ?> />
<label for="email">Email</label>
<input type="email" id="email" name="email" <?php if($_REQUEST['email'] != "") echo "value='".$_REQUEST['email']."'"; ?> />
<label for="c_email">Retype Email</label>
<input type="email" id="c_email" name="c_email" />
<label for="password">Password</label>
<input type="password" id="password" name="password" />
<label for="c_password">Retype Password</label>
<input type="password" id="c_password" name="c_password" />
<input type="submit" value="registrati" />
</form>
名称
你知道这是否发生在注册时吗?他们可以在注册后很快删除自己的名字吗?strpos(var,”)
检查空格而不是空字符串我错了吗?因此,一个空白字符串将返回false,因为它不是一个空格。同样令人恐惧的是,您没有使用准备好的语句,只允许它们将用户输入到数据库中的任何内容推到数据库中。机器人程序通常不使用javascript,我可以在浏览器中关闭它,然后使用sql注入技术来启动数据库。永远不要仅仅依靠javascript来保护数据库。javascript是客户端,可以关闭。我敢打赌,机器人提交你的表格时都是空白的,而你只是把它塞进去而已。关闭javascript并尝试提交表单。如果我愿意的话,我可以从我自己的网站上提交你的表格,从我的桌面上滚出去,试着打破你的东西,撕碎你的数据库。希望你不是在做生意。始终清理和验证数据服务器端。您应该使用准备好的SQL语句(防止SQL注入)并在PHP中验证数据。检查您不想要的字符、空字符串、有效电子邮件等。如果您不想要,您将度过一段不愉快的时光。您知道这是否发生在注册时吗?他们可以在注册后很快删除自己的名字吗?strpos(var,”)
检查空格而不是空字符串我错了吗?因此,一个空白字符串将返回false,因为它不是一个空格。同样令人恐惧的是,您没有使用准备好的语句,只允许它们将用户输入到数据库中的任何内容推到数据库中。机器人程序通常不使用javascript,我可以在浏览器中关闭它,然后使用sql注入技术来启动数据库。永远不要仅仅依靠javascript来保护数据库。javascript是客户端,可以关闭。我敢打赌,机器人提交你的表格时都是空白的,而你只是把它塞进去而已。关闭javascript并尝试提交表单。如果我愿意的话,我可以从我自己的网站上提交你的表格,从我的桌面上滚出去,试着打破你的东西,撕碎你的数据库。希望你不是在做生意。始终清理和验证数据服务器端。您应该使用准备好的SQL语句(防止SQL注入)并在PHP中验证数据。检查您不想要的字符、空字符串、有效电子邮件等。如果您不想要,您将度过一段不愉快的时光。您知道这是否发生在注册时吗?他们可以在注册后很快删除自己的名字吗?strpos(var,”)
检查空格而不是空字符串我错了吗?因此,一个空白字符串将返回false,因为它不是一个空格。同样令人恐惧的是,您没有使用准备好的语句,只允许它们将用户输入到数据库中的任何内容推到数据库中。机器人程序通常不使用javascript,我可以在浏览器中关闭它,然后使用sql注入技术来启动数据库。永远不要仅仅依靠javascript来保护数据库。javascript是客户端,可以关闭。我敢打赌,机器人提交你的表格时都是空白的,而你只是把它塞进去而已。关闭javascript并尝试提交表单。如果我愿意的话,我可以从我自己的网站上提交你的表格,从我的桌面上滚出去,试着打破你的东西,撕碎你的数据库。希望你不是在做生意。始终清理和验证数据服务器端。您应该使用准备好的SQL语句(防止SQL注入)并在PHP中验证数据。检查你不想要的字符、空字符串、有效电子邮件等。如果你不想要,你会过得很糟糕。
<?php
function mt_rand_str ($length, $available = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz0123456789') {
for ($string = '', $i = 0; $i < $length; ++$i) {
$string .= $available[mt_rand(0, strlen($available)-1)];
}
return $string;
}
include('connection.php');
$con = connection();
$name = $_POST['name'];
$surname = $_POST['surname'];
$email = $_POST['email'];
$password = $_POST['password'];
$bonus = 10;
$today = new DateTime();
$signUpDate = $today->format('Y-m-d');
if(strpos($name,' ') !== false) {
echo "
<script>
alert('Nome non valido!');
window.location.href = '../signup.php';
</script>";
exit;
}
if(strpos($surname,' ') !== false) {
echo "
<script>
alert('Cognome non valido!');
window.location.href = '../signup.php';
</script>";
exit;
}
if(strpos($email,' ') !== false) {
echo "
<script>
alert('Email non valida!');
window.location.href = '../signup.php';
</script>";
exit;
}
if(strpos($password,' ') !== false) {
echo "
<script>
alert('Password non valida!');
window.location.href = '../signup.php';
</script>";
exit;
}
connectionCheck($con);
userDbCheck($con);
$checkEmail = mysqli_query($con,"Select * from Users_DB where email = '$email'");
if(!mysqli_fetch_assoc($checkEmail)) {
do {
$userCode = mt_rand_str(8);
}
while(mysqli_fetch_assoc(mysqli_query($con,"select * from Users_DB where binary UserCode = '$userCode'")));
$value = 20;
mysqli_query($con,"Insert into User_DB (UserCode,Name,Surname,Phone,Email,Password,SignUpDate,bonus)
values ('$userCode','$name','$surname','','$email','$password','$signUpDate','$bonus')");
}
else {
echo "
<script>
alert('Email exists already!');
window.location.href = '../signup.php';
</script>";
}
?>