Просмотр полной версии : Регистрация
Игру сделал всё пашет по локалке а вот по инету нельзя зарегица получается так что я регюсь и после нажатия кнопки регистрация меня обрато перекидывает на страницу регистрации но акк не создаётся что делать как исправить??? :confused:
Плиззз хелп
groundhog
15.10.2007, 11:55
Смотри error-log, access-log и referrer-log. Исправить можно всё. А вот что делать при такой формулировке вопроса сказать сложно.
Ну вот адрес сайта spartac.isrv.ru
а вот error log
[Sun Oct 14 11:23:14 2007] [error] [client 62.205.194.104] Directory index forbidden by rule: /virtual/spartac.isrv.ru/htdocs/
[Sun Oct 14 11:23:15 2007] [error] [client 62.205.194.104] Directory index forbidden by rule: /virtual/spartac.isrv.ru/htdocs/
[Sun Oct 14 11:23:16 2007] [error] [client 62.205.194.104] Directory index forbidden by rule: /virtual/spartac.isrv.ru/htdocs/
[Sun Oct 14 21:21:54 2007] [error] [client 62.205.224.33] File does not exist: /virtual/spartac.isrv.ru/htdocs/favicon.ico
groundhog
15.10.2007, 13:02
Мне бы код регистрилки глянуть...
<?
$ok=0;
#include('inc/noflood.php');
include('inc/db_connect.php');
include('time.php');
$now=time();
$ip=GetEnv("REMOTE_ADDR");
$browser=GetEnv("HTTP_USER_AGENT");
SetCookie("user","");
SetCookie("pass","");
unset($user);
unset($pass);
if (@$register) {
// Блокировка таблицы
mysql_query("LOCK TABLES `players` WRITE, `slots` WRITE");
echo mysql_error();
$login=trim($login);
$login=addslashes($login);
if ($login=="" or $conf_pass=="" or $name=="" or $sex=="") $nms.="Вы не заполнили обязательные поля!"; else {
$hinfo=mysql_fetch_array(mysql_query("SELECT id FROM players where user='".$login."'"));
echo mysql_error();
if (!empty($hinfo['id'])) $finded=1; else $finded=0;
if ($finded == 0) {
if (strlen($login)<3) { $nms.="Логин не должен быть короче 3-х символов!\\n"; } else $ok+=1;
$arr[] = chr(32);
for($i = 48; $i != 57; $i++) {
$arr[] = chr($i);
}
for($i = 65; $i != 91; $i++) {
$arr[] = chr($i);
}
for($i = 97; $i != 123; $i++) {
$arr[] = chr($i);
}
for($i = 192; $i != 256; $i++) {
$arr[] = chr($i);
}
for ($i=0; $i<strlen($login); $i++) {
if (!in_array($login[$i],$arr)) { $fb=1; break; }
}
if ($fb == 1) { $nms.="Логин содержит недопустимый символ!\\n"; } else $ok+=1;
if (preg_match("#[A-Za-z]#", $login) && preg_match("#[А-Яа-я]#", $login)) { $nms.="Логин должен состоять либо только из русских букв, либо только из английских!\\n"; } else $ok+=1;
if (is_numeric($login)) { $nms.="Логин не может состоять только из цифр!\\n"; } else $ok+=1;
if ($psw!=$conf_pass) { $nms.="Введённые Вами пароли не совпадают!\\n"; } else $ok+=1;
if ($psw==$conf_pass && strlen($psw)<6) { $nms.="Пароль не должен быть короче 6-и символов!\\n"; } else $ok+=1;
if ($sex!=1 && $sex!=2) { $nms.="Неверно указан пол!\\n"; } else $ok+=1;
if ($rase!=0 && $rase!=0 && $rase!=0 && $rase!=0) { $nms.="Неверно указана раса!\\n"; } else $ok+=1;
if (is_numeric($day) && is_numeric($month) && is_numeric($year)) {
if (($day>0 && $day<32) and ($month>0 && $month<13) and ($year>1949 && $year<2000)) { $ok+=1; }
else $nms.="Неверно указана дата рождения!\\n";
} else $nms.="Неверно указана дата рождения!\\n";
if ($law!=1) { $nms.="Принятие наших законов является обязательным условием!\\n"; } else $ok+=1;
} else $nms.="Персонаж с таким логином уже существует!\\n";
}
// Вставляем в базу
if(empty($ip))
{
if (getenv('HTTP_X_FORWARDED_FOR'))
{
$ip=getenv('HTTP_X_FORWARDED_FOR');
}
else
{
$ip=getenv('REMOTE_ADDR');
}
}
if ($ok>9) {
$max = mysql_fetch_array(mysql_query("SELECT MAX(id) as id FROM players"));
$NEW_USER_ID = $max['id'] + 1;
mysql_query("INSERT INTO slots (id, slots.1) values('".$NEW_USER_ID."','0')");
mysql_query("INSERT INTO players (id, user, pass, name, birth, birthdate, real_city, sex, browser, deviz, ip) values('".$NEW_USER_ID."','".addslashes($login)."',md5('$psw'),'".addslashes($name)."','$day.$month.$year','$this_time','".addslashes($city)."','".addslashes($sex)."','".addslashes($browser)."','".addslashes($deviz)."','$ip')");
$finded = 1;
mysql_query("unlock tables");
// Разблокировка таблицы
header("Location: register.php?page=end&login=$login");
exit;
}
//
mysql_query("unlock tables");
// Разблокировка таблицы
}
if ($page!="end") {
$title='[Регистрация]';
include('inc/html_header.php');
echo"<body bgcolor=EBEDEC>";
echo"<table width=350 border=1 bordercolor=CCCCCC cellspacing=0 cellpadding=3>
<tr>
<td align=center><b style='COLOR: Green'>[Регистрация]</b></td>
</tr>
</table><br>
";
if ($nms!="") echo"<script>alert('Найдены ошибки:\\n$nms');</script>";
echo"<table width=350 border=1 bordercolor=CCCCCC cellspacing=0 cellpadding=3>
<form action='' method=post>
<tr>
<td width=50%> Логин персонажа: (<b style='COLOR: Red'>*</b>)</td><td align=center><input name='login' class=input style='WIDTH: 150px' maxlength=20 value='$login'></td>
</tr>
<tr>
<td> Пароль: (<b style='COLOR: Red'>*</b>)</td><td align=center><input name='psw' type=password class=input style='WIDTH: 150px' maxlength=30 value='$psw'></td>
</tr>
<tr>
<td> Пароль повторно: (<b style='COLOR: Red'>*</b>)</td><td align=center><input name='conf_pass' type=password class=input style='WIDTH: 150px' value='$conf_pass'></td>
</tr>
<tr>
<td> Реальное имя: (<b style='COLOR: Red'>*</b>)</td><td align=center><input name='name' class=input style='WIDTH: 150px' maxlength=11 value='$name'></td>
</tr>
<tr>
<td> Дата рождения: (<b style='COLOR: Red'>*</b>)</td><td align=center>
<select name=day>";
for ($i=1; $i<32; $i++) { echo"<option value=$i"; if ($i==$day) echo" selected"; echo">$i"; }
unset($i);
echo"</select>
<select name=month>";
for ($i=1; $i<13; $i++) { echo"<option value=$i"; if ($i==$month) echo" selected"; echo">$i"; }
unset($i);
echo"</select>
<select name=year>";
for ($i=1950; $i<2000; $i++) { echo"<option value=$i"; if ($i==$year) echo" selected"; echo">$i"; }
unset($i);
echo"</select>
</td>
</tr>
<tr>
<td> Пол: (<b style='COLOR: Red'>*</b>)</td><td align=center><select name=sex style='WIDTH: 85px'><option><option value=1"; if ($sex==1) echo" selected"; echo">Мужской<option value=2"; if ($sex==2) echo" selected"; echo">Женский</select></td>
</tr>
<tr>
<td> Девиз: </td><td align=center><input name='deviz' class=input style='WIDTH: 150px' value='$deviz'></td>
</tr>
<tr>
<td> Город: </td><td align=center><input name='city' class=input style='WIDTH: 150px' maxlength=11 value='$city'></td>
</tr>
<tr>
<td colspan=2><input type=hidden name=law value=0><input type=checkbox name=law value=1"; if ($law == 1) echo " checked"; echo"> Я обязуюсь соблюдать <a href='law.php' target=_blank>законы</a></td>
</tr>
<tr>
<td align=center><input type=submit name=register class=input value='Регистрация' style='WIDTH: 150px'></td>
<td align=center><input type=button class=input value='Закрыть' style='WIDTH: 150px' onclick='window.close();'></td>
</tr>
</form>
</table>
";
}
elseif ($page=="end") {
$inf=mysql_fetch_array(mysql_query("SELECT * FROM players where user='".addslashes($login)."'"));
if ($inf[user]!="") {
if ($inf[active]==0) {
$title='[Регистрация]';
include('inc/html_header.php');
echo"<body bgcolor=EBEDEC>";
echo"<table width=350 border=1 bordercolor=CCCCCC cellspacing=0 cellpadding=3>
<tr>
<td align=center><b style='COLOR: Green'>[Регистрация]</b></td>
</tr>
</table><br>
";
echo"<table width=330 border=1 bordercolor=CCCCCC cellspacing=0 cellpadding=3 height=329><tr><td align=center valign=center>";
echo"Спасибо за регистрацию, <b>$inf[user]</b>!<br>
<br>
<br>
<input type=button value='Войти в игру с главной страницы!' class=input onclick='window.open(\"http://\",\"\",\"width=700,height=400,resizable,location=yes,menuba r=yes,status=yes,toolbar=yes,scrollbars=yes\");'>
";
mysql_query("update players set active=1 where id=$inf[id]");
} else { $title='[Регистрация]';
include('inc/html_header.php');
echo"<body bgcolor=EBEDEC>";
echo"<table width=350 border=1 bordercolor=CCCCCC cellspacing=0 cellpadding=3>
<tr>
<td align=center><b style='COLOR: Green'>[Регистрация]</b></td>
</tr>
</table><br>
";
echo"<center>Аккаунт был активирован ранее!</center>"; }
}
echo"</td></tr></table>";
}
?>
кстати о птичках, тут инъекция в Http_x_forwarded_for
1) Не переходит так код написан для регистр_глобла=Он...
2) Код написан коряво... честно слово... не люблю линейный код... если сам писал, учись писать нормально
3) В коде много ошибок... которые и не видны на первый вгляд, если хорошо присмотреться то сразу видны, СКЛхак уже указал на одну...
код писал не я а тут некто не может выложить нормальный рабочий код ато я в этих делах ничего не понимаю
groundhog
15.10.2007, 15:46
Проблема действительно в директиве register_globals, у тебя на локальном хосте она включена, а на любом нормальном хостинге она выключена. Скрипт надо переписывать по любому...
ясн лан буду значит пробывать пекреписать
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot