Файл: reg.php
Строк: 185
<?
error_reporting(0);
include "cfg.php";
define('TITLE', 'РЕГИСТРАЦИЯ В КАТАЛОГЕ');
if($mod!='img'){if($v=='wml'){require ('inc/hwml');}
if($v=='xhtml'){require ('inc/hxhtml');}}
#######
$idd = file('data/id.dat');
$idd_count = count($idd);
if($idd_count<$reglimit) ### проверяем можно ли делать регистрацию
{
#####################
# Регистрация #######
#####################
if($mod=='index')
{
$simvol = '1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM';
session_id(md5(microtime()*rand()));
@session_start();
$_SESSION['_1'] = $simvol[rand(0, strlen($simvol)-1)];
$_SESSION['_2'] = $simvol[rand(0, strlen($simvol)-1)];
$_SESSION['_3'] = $simvol[rand(0, strlen($simvol)-1)];
$_SESSION['_4'] = $simvol[rand(0, strlen($simvol)-1)];
echo'<b>Регистрация в Katik.CN</b><br/>
::::::::<br/>';
if($v=='xhtml'){ echo'<form method="post" action="'.SELF.'?'.(session_id()).'&mod=add&v='.$v.'">'; }
echo'Название :<br/>
<input type="text" name="name" maxlength="25" value=""/><br/>
Описание :<br/>
<input type="text" name="opis" maxlength="250" value=""/><br/>Адрес сайта :<br/>
<input type="text" name="url" maxlength="32" value="http://"/><br/>Ваш em@il :<br/>
<input type="text" name="mail" maxlength="32" value="@"/><br/>
Пароль :<br/>
<input type="password" name="pass" maxlength="32" value=""/><br/>
Транслит <select name="tr" value="off">
<option value="off">off</option>
<option value="on">on</option>
</select><br/>
Категория :<br/>
<select name="kat_num" value="0">';
$kat = file('conf/kat_name.conf');
$a = count($kat);
for($i=0; $i<$a; $i++)
{if(trim($kat[$i])!==''){echo '<option value="'.$i.'">'.$kat[$i].'</option>';}}
echo '</select><br/>';
if($v=='xhtml')
{ echo'<input value="РЕГИСТРИРОВАТЬ" name="do" type="submit"></form>'; }else
{ echo'<anchor>[РЕГИСТРИРОВАТЬ]<go href="'.SELF.'?'.(session_id()).'&mod=add&v='.$v.'" method="post">
<postfield name="opis" value="$(opis)"/>
<postfield name="tr" value="$(tr)"/>
<postfield name="url" value="$(url)"/>
<postfield name="name" value="$(name)"/>
<postfield name="pass" value="$(pass)"/>
<postfield name="mail" value="$(mail)"/>
<postfield name="kod" value="$(kod)"/>
<postfield name="kat_num" value="$(kat_num)"/>
</go></anchor><br/>';}
}
####################
# Добавление сайта #
####################
if($mod=='add')
{
$data=date("dmy");
$pass = substr(trim(htmlspecialchars(stripslashes($_POST['pass']))), 0, 32);
$url = substr(trim(htmlspecialchars(stripslashes($_POST['url']))), 0, 32);
$opis = substr(trim(htmlspecialchars(stripslashes($_POST['opis']))), 0, 250);
$mail = substr(trim(htmlspecialchars(stripslashes($_POST['mail']))), 0, 32);
$kod = substr(trim(htmlspecialchars(stripslashes($_POST['kod']))), 0, 5);
$name = substr(trim(htmlspecialchars(stripslashes($_POST['name']))), 0, 25);
$SID = trim(htmlspecialchars(stripslashes($_SERVER['QUERY_STRING'])));
list($SID,)=explode('&', $SID);
if(is_numeric($_POST['kat_num'])){ $kat_num = $_POST['kat_num']; }else{ $kat_num = 0; }
session_id($SID);
@session_start();
$error = '';
if(empty($name)){$error .= 'Не введено название!<br/>';}
if(empty($opis)){$error .= 'Не введено описание!<br/>';}
if(empty($pass)){$error .= 'Не введен пароль!<br/>';}
if(empty($url)){$error .= 'Не введен url!<br/>';}
if(empty($mail)){$error .= 'Не введен email!<br/>';}
else{ if(!preg_match("/[0-9a-z_]+@[0-9a-z_^.]+.[a-z]{2,4}/i" , $mail)){ $error .= 'Не верно введен em@il ! Введите его в виде <b>name@name.name</b> !<br/>'; }}session_unset();
$url=str_replace('http://', 'url::', $url);
$url=str_replace('url::', 'http://', $url);
////// проверяем черный список
$fp=file('apanel/black.list');
function trimed(&$item)
{ $item=trim($item); }
array_walk($fp, "trimed");
foreach($fp as $v)
{
if($v == $url)
{ echo 'Сайт ЗАБАНЕН!<br/><br/>';
if($v=='wml'){require ('inc/fwml');}
if($v=='xhtml'){require ('inc/fxhtml');}
exit();
}}
//////
// проверяем есть ли сайт уже в каталоге
$zap=file('data/id.dat');
function intvalue(&$item)
{ $item=(int)$item; }
array_walk($zap, "intvalue");
$countbase=sizeof($zap);
for($i=0; $i<$countbase; $i++)
{
$fp=file('data/base/'.$zap[$i].'.winnt');
if(trim($fp[1])==$url)
{ echo 'Сайт уже зарегистрирован! ID: <b>'.$zap[$i].'</b><br/><br/>';
if($v=='wml'){require ('inc/fwml');}
if($v=='xhtml'){require ('inc/fxhtml');}
exit(); }
}
if(empty($error)){
if(trim($_POST['tr'])=='on'){
include ('inc/translit.php');
$name = translit($name);
$opis = translit($opis); }
$vse_dat = fopen('data/id.dat', 'a');
$id=$idd[($idd_count-1)]+1;
fputs($vse_dat, $id."n");
fclose($vse_dat); chmod('data/id.dat', 0777);
$base = fopen('data/base/'.$id.'.winnt', 'w');
fputs($base, "$namen$urln$opisn$kat_numn".(md5($pass))."n$mailn");
fclose($base); chmod('data/base/'.$id.'.winnt', 0777);
$s = fopen('data/stat/'.$id.'.winnt', 'w');
fputs($s, "999999n0n0n0n0n0n0n0n0n77n");
fclose($s); chmod('data/stat/'.$id.'.winnt', 0777);
$kat = file('conf/kat_name.conf');
$msg= 'Регистрация прошла успешно!<br/>
Ваш сайт: '.$name.'<br/>
Добавлен в категорию: <b>'.$kat[$kat_num].'</b><br/>
Ваш ID в каталоге :<b>'.$id.'</b><br/>
Ваш пароль: <b>'.$pass.'</b><br/>
Ссылка для голосования: '.HOME.'/in.php?id='.$id.'<br/>Скопировать:<br><input type="text" value="http://katik.cn/in.php?id='.$id.'"><br/>
Спасибо за регистрацию!<br>';
echo $msg;
$to=$mail;
$subject="Регистрация в каталогеnHOMEn";
$headers="From: SeKiS reg@okat.wsn";
$headers.="Content-type: text/html; charset="utf-8"";
$headers.="Subject: $subject";
$headers.="Content-type: text/html; charset="utf-8"";
mail($to, $subject, $msg, $headers);
}
else { echo'<b>Ошибка</b>!!!<br/><br/>'.$error.'<br/>
<a href="'.SELF.'?mod=index&v='.$v.'">Регистрация Заново!</a><br/>'; }
}
##############################
# Защита от авто регистрации #
##############################
if($mod=='img')
{
$sessid=trim(htmlspecialchars(stripslashes($_SERVER['QUERY_STRING'])));
list($sessid,)=explode('&', $sessid);
session_id($sessid);
session_start();
$im = ImageCreate(55, 25);
ImageColorAllocate($im, 255,153,0);
$green = ImageColorAllocate($im, 0,0,0);
ImageString($im, 4, 11, 4, $_SESSION['_1'], $green);
ImageString($im, 4, 19, 4, $_SESSION['_2'], $green);
ImageString($im, 4, 29, 4, $_SESSION['_3'], $green);
ImageString($im, 4, 38, 4, $_SESSION['_4'], $green);
ImageLine($im, 1, 1, 53, 1, $green);
ImageLine($im, 1, 23, 53, 23, $green);
ImageLine($im, 1, 1, 1, 23, $green);
ImageLine($im, 53, 1, 53, 23, $green);
header('Content-type: image/gif');
header('Cache-control: no-cache, no-store');
imagegif($im);
imagedestroy($im); exit;
}
}
else{
echo'Извените но регистрация временно прекращена!!!<br/><br/>';
}
if($v=='wml'){require ('inc/fwml');}
if($v=='xhtml'){require ('inc/fxhtml');}
?>