[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Mangoost  
Moy-Web форум » ФОРУМ » Web-обвязка Moy-Web » Fix для Moy-Web 4,1 (может кому пригодится)
Fix для Moy-Web 4,1
ПРОФИЛЬ
TomAlkoДата: Воскресенье, 14.Мар.2010, 11:41:56 | Сообщение # 1
Сержант
Группа: Пользователи
Сообщений: 29
Статус: Offline
=========================================
для тех кто (Необходимо изменить таблицу "accounts". Читать DOC.html (каторый я не нашёл)).
/*===========accounts-l2vote.sql============*/
DROP TABLE IF EXISTS `accounts`;
CREATE TABLE `accounts` (
`login` VARCHAR(45) NOT NULL default '',
`password` varchar(45) default NULL,
`lastactive` DECIMAL(20),
`accessLevel` tinyint(4) NOT NULL default '0',
`lastIP` CHAR(15) NULL DEFAULT NULL,
`userIP` char(15) DEFAULT NULL,
`email` varchar(40) default NULL,
`question1` varchar(40) default NULL,
`answer1` varchar(40) default NULL,
`lastServer` tinyint(4) default '1',
`codes` varchar(20) default NULL,
PRIMARY KEY (`login`)
) ENGINE=MyISAM /*!40101 DEFAULT CHARSET=DEFAULT */;
/*
MySQL Data Transfer
Source Host: 93.81.253.3
Source Database: x200
Target Host: 93.81.253.3
Target Database: x200
Date: 22.09.2008 21:36:46
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for l2vote
-- ----------------------------
CREATE TABLE `l2vote` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(200) NOT NULL,
`ip` varchar(25) NOT NULL,
`date` date NOT NULL,
`status` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM /*!40101 DEFAULT CHARSET=DEFAULT */;
==============================================================
/*регистрация исправления*/reg.php
function checkform(f){
-----------заменить---------------------------------ошибка в начальном исправление-------------
if(!f.account.value){alert('ляляля');f.account.focus();return false;}
jsfield = new String(f.account.value);
if (jsfield.length<4){alert ('лялялялял');f.account.value='';f.account.focus();return false;}
jsfield = new String(f.account.value);
if (jsfield.length>16){alert ('лялялялял');f.account.value='';f.account.focus();return false;}
-----------
-----------на это
if (f.account.value==""){alert("лялялляля");f.account.value='';f.account.focus();return false;}
jsfield = new String(f.account.value);
if (jsfield.length<4){alert ('лялялялялляля');f.account.value='';f.account.focus();return false;}
jsfield = new String(f.account.value);
if (jsfield.length>16){alert ('ляляляллял');f.account.value='';f.account.focus();return false;}
if (!isAlphaNumeric(f.account.value)){alert("лялялялял");return false;}
--------------------------------------------------------------------------------------------
Это лутше (мои переделки Ж))))--> создать .Js .css и поместить в engine например upreg.js ниже есть код., далее classSites.css, ниже есть код.
тагже можно добавить рускую регистрацию найдите все a-zA-Z0-9 и поменять a-zA-Zа-яА-Я0-9 там где это надо
осторожно надо читать о кодировках иначе будут каракули
замена на сервере gameserver (config/server.properties)
правим URL = jdbc:mysql://localhost/l2jdb
на это URL = jdbc:mysql://localhost/l2jdb?useUnicode=true&characterEncoding=utf-8 осторожно я использую utf-8
CnameTemplate = .*
PetNameTemplate = .*
тоже самое добовляем (правим) reg2.php
// anti-injection <----------------------------------------reg2.php
if (!eregi("^[a-zA-Z0-9_]+$", $_POST['account']))
die ("<p>".$lang_128."</p>");
if (!eregi("^[a-zA-Z0-9_]+$", $_POST['password']))
die ("<p>".$lang_110."</p>");
if (!eregi("^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-]+)+", $_POST['email']))
die ("<p>".$lang_114."</p>");
if (!eregi("^[a-zA-Z_]+$", $_POST['question1']))
die ("<p>".$lang_116."</p>");
if (!eregi("^[a-zA-Z_]+$", $_POST['answer1']))
die ("<p>".$lang_117."</p>");
// end anti-injection
/*--------------------------------------upreg.js-----------------------------------------------*/
function isAlphaNumeric(value){
if (value.match(/^[a-zA-Z0-9_]+$/))
return true;
return false;}
function checkform(f)
{
if (f.account.value==""){alert("Введите Логин");f.account.value='';f.account.focus();return false;}
jsfield = new String(f.account.value);
if (jsfield.length<4){alert ('Поле Логин должно быть длиннее 4 символов');f.account.value='';f.account.focus();return false;}
jsfield = new String(f.account.value);
if (jsfield.length>16){alert ('Поле Логин должно быть меньше 16 символов.');f.account.value='';f.account.focus();return false;}
if (!isAlphaNumeric(f.account.value)){alert("Логин должен состоять из английских букв и/или цифр!");return false;}
if (f.password.value==""){alert("Введите Пароль");f.password.value='';f.password.focus();return false;}
jsfield = new String(f.password.value);
if (jsfield.length<4){alert ('Поле Пароль должно быть длиннее 4 символов');f.password.value='';f.password.focus();return false;}
jsfield = new String(f.password.value);
if (jsfield.length>16){alert ('Поле Пароль должно быть меньше 16 символов.');f.password.value='';f.password.focus();return false;}
if (!isAlphaNumeric(f.password.value)){alert("Пароль должен состоять из английских букв и/или цифр!");return false;}
if (f.password2.value==""){alert("Введите пароль повторно");return false;}
if (f.password.value != f.password2.value){alert("Пароль и повтор пароля не совпадают!"); false;}
if (f.email.value==""){alert("Введите E-mail");return false;}
if (!f.email.value.match(/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-]+)+/)){alert("Это не e-mail!");return false;}
if (f.question1.value==""){alert("Введите Секретный вопрос");return false;}
if (!f.question1.value.match(/^[a-zA-Z_]+$/)){alert("Вопрос должен сосотять только из латинских букв!");return false;}
if (!f.answer1.value.match(/^[a-zA-Z_]+$/)){alert("Ответ должен сосотять только из латинских букв!");return false;}
if (f.answer1.value==""){alert("Введите Секретный ответ");return false;}
if(!f.keystring.value){alert('Введите код безопасности');f.keystring.focus();return false;}return true;
}
function checkLogin(){var login=document.getElementById('login').value;$("#logincheck").html('<img src="engine/img/i1.gif" />');$("#logincheck").load("engine/chek.php", {login:login});};
function checkpass(){var pass=document.getElementById('pass').value;$("#passcheck").html('<img src="engine/img/i1.gif" />');$("#passcheck").load("engine/chek.php", { pass:pass});};
function checkpassb(){var passb=document.getElementById('passb').value;$("#passbcheck").html('<img src="engine/img/i1.gif" />');$("#passbcheck").load("engine/chek.php", {passb:passb});};
function checkemail(){var email=document.getElementById('email').value;$("#emailcheck").html('<img src="engine/img/i1.gif" />');$("#emailcheck").load("engine/chek.php", {email:email});};
function checkquest(){var quest=document.getElementById('quest').value;$("#questcheck").html('<img src="engine/img/i1.gif" />');$("#questcheck").load("engine/chek.php", {quest:quest});};
function checkanswe(){var answe=document.getElementById('answe').value;$("#answecheck").html('<img src="engine/img/i1.gif" />');$("#answecheck").load("engine/chek.php", {answe:answe});};
function checkkeys(){var keys=document.getElementById('keys').value;$("#keyscheck").html('<img src="engine/img/i1.gif" />');$("#keyscheck").load("engine/chek.php", {keys:keys});};
/*---------------------------------------------------------------end---------------------------------------------------*/
/*-----------------------------------------------------classSites.css,-------------------------------------------------*/
div.Akkaunts_reg{position:relative;width:554px;margin:0 auto;font-family:Tahoma,Verdana,Helvetica,sans-serif;}
div.Akkaunts_reg h4{margin:10px 50px;background:#151515;padding:5px;border: 1px solid #796A53;}
.Akkrega{background:#151515;width:355px;margin:0 auto;padding:10px 50px 35px 50px;border: 1px solid #796A53;}
ul.Akkrega li{position:relative;line-height:22px;font-weight:900;border-top: 1px dashed #202020;}
ul.Akkrega input {background:#612A1B;border:0;line-height:22px;color:#78DE78;padding:1px 5px;position:absolute;right:0;top:2px;width:190px;font-size:14px;font-weight:700;}
#logincheck,#passcheck,#passbcheck,#emailcheck,#questcheck,#answecheck,#keyscheck{position:absolute;right:-20px;top:0;}
.Akkregimg img {position:relative;left:178px;top:4px;height:40px;width:120px;}
#Akkregb {position:absolute;bottom:10px;right:100px;width:150px;}
/*---------------------------------------------------------------end---------------------------------------------------*/
===========================================================
далее удоляем лишнее reg.php
if (@mysql_selectdb("$db1", $Server)){ <-после этого

echo"<script type=\"text/javascript\" src=\"engine/jquery.js\"></script><script type=\"text/javascript\" src=\"engine/upreg.js\"></script><link rel=\"stylesheet\" type=\"text/css\" href=\"engine/classSites.css\">
<div class=\"Akkaunts_reg\"><h4>$lang_103<font color=\"#880000\">*</font>- Обязательные поля ввода</h4><form method=\"post\" id=\"regform\" action=\"reg2.html\" onsubmit=\"return checkform(this)\" name=\"f\" ><ul class=\"Akkrega\">
<li><span>$lang_120 : <font color=\"#880000\">*</font></span><input type=\"text\" name=\"account\" maxlength=\"16\" onblur=\"checkLogin();\" id=\"login\" class=\"formakk\"><div id=\"logincheck\"></div></li>
<li><span>$lang_121 : <font color=\"#880000\">*</font></span><input type=\"password\" name=\"password\" maxlength=\"16\" onblur=\"checkpass();\"id=\"pass\" class=\"formakk\"><div id=\"passcheck\"></div></li>
<li><span>$lang_122 : <font color=\"#880000\">*</font></span><input type=\"password\" name=\"password2\" maxlength=\"16\" onblur=\"checkpassb();\"id=\"passb\" class=\"formakk\"><div id=\"passbcheck\"></div></li>
<li><span>E-mail : <font color=\"#880000\">*</font></span><input type=\"text\" name=\"email\" maxlength=\"30\" onblur=\"checkemail();\"id=\"email\" class=\"formakk\"><div id=\"emailcheck\"></div></li>
<li><span>$lang_123 : <font color=\"#880000\">*</font></span><input type=\"text\" name=\"question1\" maxlength=\"30\" onblur=\"checkquest();\"id=\"quest\" class=\"formakk\"><div id=\"questcheck\"></div></li>
<li><span>$lang_124 : <font color=\"#880000\">*</font></span><input type=\"text\" name=\"answer1\" maxlength=\"30\" onblur=\"checkanswe();\"id=\"answe\" class=\"formakk\"><div id=\"answecheck\"></div></li>
<li class=\"Akkregimg\"><span><a href=\"#captcha\" onClick=\"document.getElementById('image').src='engine/kcaptcha/index.php?rand='+Math.round(1000 * Math.random());\">$lang_126</a></span><img src=\"engine/kcaptcha/index.php\" id=\"image\" >
</li><li><span>$lang_125 : <font color=\"#880000\">*</font></span><input type='text' name='keystring' onblur=\"checkkeys();\"id=\"keys\" class=\"formakk\"><div id=\"keyscheck\"></div></li>
</ul><input type=\"submit\" id=\"Akkregb\" name=\"submit\" value=$lang_127 class=\"submit\" ></form></div>";

до этого ->}else {echo $no_connect;}
==============================================================================end reg.php
добавление с заменной l2auth Аккаунт
-----------------------------------------------------------------
echo "<option value=$login>$login</option>";}}
closedir($dir);}
echo" </select></form>";
}
}
------------------------------------------------------------от
$form=("<link rel=\"stylesheet\" type=\"text/css\" href=\"engine/classSites.css\"><form action=\"\" method=\"POST\">
<ul class=\"akkentry\"><li><input type=\"text\"name=\"log\"value=\"Логин\"class=\"form\"maxlength=\"16\"onfocus=\"this.style.backgroundColor='#151515';this.value='';\" onblur=\"this.style.backgroundColor='#101010';if (this.value != '') {this.onfocus = function(){this.style.backgroundColor='#993300';};} else this.value='Логин';\"></li>
<li><input type=\"password\"name=\"pass\"value=\"Пароль\"class=\"form\"maxlength=\"16\"onfocus=\"this.style.backgroundColor='#151515';this.value='';\" onblur=\"this.style.backgroundColor='#101010';if (this.value != '') {this.onfocus = function(){this.style.backgroundColor='#993300';};} else this.value='Пароль';\"></li>
<li><input type=\"hidden\" value=\"docheck\" name=\"todo\"><input type=\"submit\" class=\"akkentry_b\" value=\"Вход\"></li></form><li><a href=\"reg.html\">Регистрация</a></li><li><a href=\"repass.html\">Забыли пароль?</a></li></ul></center>
");
$name=$_SESSION['name'];

$result=@mysql_query('SELECT * from accounts where login="'.$name.'"',$my_auth);
$res1=@mysql_fetch_array($result);
$lastactive=@$res1['lastactive'];
$lastIP=@$res1['lastIP'];
$today =date('j M Y -H\:i',$lastactive/1000);
if ($_SESSION['auth']=='1'){echo"<center><hr width=\"70%\" >Привет <b>$name</b><hr width=\"70%\" >";
if ($_SESSION['access']=='100'){
echo'
<a href="changepass.html">Сменить Пароль</a><br>
<a href="teleport.html">Телепорт в город</a><br>
<br>Admin menu<br><table><tr><td>
<form action="lk.html" method="POST"><input type="submit" value="admin1"></form></td>
<td><form action="lk.html" method="POST"><input type="submit" value="admin2"></form></td></tr>
<tr><td><form action="lk.html" method="POST"><input type="submit" value="admin3"></form></td>
<td><form action="lk.html" method="POST"><input type="submit" value="admin4"></form></td></tr></table>
<br>User menu<br>';}
echo'
<a href="lk.html">Ваши персы</a><br>
<a href="feedback.html">Обратная связь</a><br>
<a href="exit.html">Выход</a>'; }
----------------------------------------------------до
else
{

if ($_POST['todo']=='') echo $form;
---------------------------------------------------------
|---------- фаил [engine/classSites.css с]
.akkentry {background:#070707;border: 1px solid #574B32;padding:10px;margin-top:10px;width:300px;}
.akkentry li{margin-bottom:5px;}
.akkentry input {border:0;padding:1px 3px;font-weight:900;background:#101010;border: 1px solid #574B32;color:#E0C598;}
input.akkentry_b {width:80px;}

===================================
Moy web-4.1 ,База знаний С5 от Корсара мною поправлена для 4.1
вылажил на dump
http://dump.ru/file/4428195
пароль как и везде на мой веб moyweb.moy.su

Добавлено (14.Мар.2010, 11:41:56)
---------------------------------------------
Ой забыл у меня капча изменина вдруг картинка будет нехорошо выглядит
капча есть здесь
http://www.captcha.ru/kcaptcha/
настройка ненужна все файлы под замену

Сообщение отредактировал TomAlko - Воскресенье, 14.Мар.2010, 11:45:12
 
ПРОФИЛЬ
MotorolaДата: Среда, 17.Мар.2010, 10:10:56 | Сообщение # 2
Лейтенант
Группа: Пользователи
Сообщений: 43
Статус: Offline
Много написанно. но проблема решается очень просто. Если вылезла ошибка "необходимо изменить таблицу аккаунт" при попытке регистрации значит сравните названия столбцов в вашей БД а таблице аккаунт с файлом рег2 выбранной команды. точнее с этой строкой:

mysql_query("INSERT INTO accounts (login, password, lastactive, accessLevel, lastIP, email, question1, answer1) VALUES ('".$_POST['account']."', '". base64_encode(pack('H*', sha1(utf8_encode($_POST['password'])))) ."', 0, 0, 0, '".$_POST['email']."', '".$_POST['question1']."', '".$_POST['answer1']."')", $Login);

тут есть 2 варианта проблемы: или не создалить доп. столбцы, email, question1, answer1 или не соответствуют названия login, password, lastactive, accessLevel, lastIP с БД. Если не совпадают названия, просто исправте их в файле рег2 как написанно в БД.

Вот и всё.

Сообщение отредактировал Motorola - Среда, 17.Мар.2010, 10:14:22
 
ПРОФИЛЬ
TomAlkoДата: Воскресенье, 21.Мар.2010, 08:33:55 | Сообщение # 3
Сержант
Группа: Пользователи
Сообщений: 29
Статус: Offline
О тока заметил я ошибку зделал в аккаунте (не то вставил)
под l2jserver
CREATE TABLE IF NOT EXISTS `accounts` (
`login` VARCHAR(45) NOT NULL default '',
`password` VARCHAR(45) ,
`lastactive` DECIMAL(20),
`accessLevel` TINYINT NOT NULL DEFAULT 0,
`lastIP` CHAR(15) NULL DEFAULT NULL,
`lastServer` TINYINT DEFAULT 1,
`userIP` char(15) DEFAULT NULL,
`pcIp` char(15) DEFAULT NULL,
`hop1` char(15) DEFAULT NULL,
`hop2` char(15) DEFAULT NULL,
`hop3` char(15) DEFAULT NULL,
`hop4` char(15) DEFAULT NULL,
`email` varchar(40) default NULL,
`question1` varchar(40) default NULL,
`answer1` varchar(40) default NULL,
`codes` varchar(20) default NULL,
PRIMARY KEY (`login`)
);

Добавлено (21.Мар.2010, 08:33:55)
---------------------------------------------
Не ну понятно! а как другие каторые тока начали осваивать?
Мне легче так чем обяснять как создать калонку в Mysql мне ешё больше писать пришлось бы.
темболее я там 2 ошибки описал сразу

Сообщение отредактировал TomAlko - Воскресенье, 21.Мар.2010, 08:32:22
 
Moy-Web форум » ФОРУМ » Web-обвязка Moy-Web » Fix для Moy-Web 4,1 (может кому пригодится)
  • Страница 1 из 1
  • 1
Поиск: