avatar_rudik

Как исправить логин в DSV: подсовывание логина в разных регистрах

Автор rudik, 2010 Апр. 19, 22:16

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ключевые слова [SEO] mu onlinedarkstyleweb dswлогинdsvрегистрstrtoupper

rudik

Как можно зделать проверку логина в дсв. для того чтоб нельзя было захадить только маленькими буквами... чтодля этого нужно нахимичить?

Zеvs

Что значит нельзя было заходить маленькими буквами?
В каком регистре человек зарегистрировал аккаунт в таком он и будет на сайт заходить..

Если тебе нужно повысить регистр, есть функция:
strtoupper();
$string='dsw';
$string=strtoupper($string);
echo $string;
Таким образом на выходе уже будет DSW, вместо dsw.

Такая же функция есть на понижение регистра:
strtolower();

Есть функция повышения регистра только 1 символа строки:
ucfirst();


Я так и не понял что конкретно тебе нужно..

When

Цитата: Zеvs от 2010 Апр. 19, 21:30  Что значит нельзя было заходить маленькими буквами?
В каком регистре человек зарегистрировал аккаунт в таком он и будет на сайт заходить..

Если тебе нужно повысить регистр, есть функция:
strtoupper();
$string='dsw';
$string=strtoupper($string);
echo $string;
Таким образом на выходе уже будет DSW, вместо dsw.

Такая же функция есть на понижение регистра:
strtolower();

Есть функция повышения регистра только 1 символа строки:
ucfirst();


Я так и не понял что конкретно тебе нужно..
Да в Dark style можно заходить под логин и маленькими и большими ......... проверка при входе не стоит ... он и просит как исправить .....

epmak

Оо а разница? мне казалось, что на сервере не может быть 2 логинов, различающихся только заглавной или прописной буквой

GrInYa

всё очень просто...вытаскиваешь логин с базы а там и проверяешь если соответствуют значит идти дальше иначе ерор

Rev[]luti0

Вставь этот код в "Index.php" желательно сначало...
<?
$username=eregi_replace("a", "A", $username);
$username=eregi_replace("b", "B", $username);
$username=eregi_replace("c", "C", $username);
$username=eregi_replace("d", "D", $username);
$username=eregi_replace("e", "E", $username);
$username=eregi_replace("f", "F", $username);
$username=eregi_replace("g", "G", $username);
$username=eregi_replace("h", "H", $username);
$username=eregi_replace("i", "I", $username);
$username=eregi_replace("j", "J", $username);
$username=eregi_replace("k", "K", $username);
$username=eregi_replace("l", "L", $username);
$username=eregi_replace("m", "M", $username);
$username=eregi_replace("n", "N", $username);
$username=eregi_replace("o", "O", $username);
$username=eregi_replace("p", "P", $username);
$username=eregi_replace("q", "Q", $username);
$username=eregi_replace("r", "R", $username);
$username=eregi_replace("s", "S", $username);
$username=eregi_replace("t", "T", $username);
$username=eregi_replace("u", "U", $username);
$username=eregi_replace("v", "V", $username);
$username=eregi_replace("w", "W", $username);
$username=eregi_replace("x", "X", $username);
$username=eregi_replace("y", "Y", $username);
$username=eregi_replace("z", "Z", $username);
?>
Должно помочь...
вместо переменной "$username" впиши ту что стоит у тебя...

GrInYa


rudik

[quote name='Rev[]luti0' post='57775' date='20.4.2010, 17:58']
Вставь этот код в "Index.php" желательно сначало...
<?
$username=eregi_replace("a", "A", $username);
$username=eregi_replace("b", "B", $username);
$username=eregi_replace("c", "C", $username);
$username=eregi_replace("d", "D", $username);
$username=eregi_replace("e", "E", $username);
$username=eregi_replace("f", "F", $username);
$username=eregi_replace("g", "G", $username);
$username=eregi_replace("h", "H", $username);
$username=eregi_replace("i", "I", $username);
$username=eregi_replace("j", "J", $username);
$username=eregi_replace("k", "K", $username);
$username=eregi_replace("l", "L", $username);
$username=eregi_replace("m", "M", $username);
$username=eregi_replace("n", "N", $username);
$username=eregi_replace("o", "O", $username);
$username=eregi_replace("p", "P", $username);
$username=eregi_replace("q", "Q", $username);
$username=eregi_replace("r", "R", $username);
$username=eregi_replace("s", "S", $username);
$username=eregi_replace("t", "T", $username);
$username=eregi_replace("u", "U", $username);
$username=eregi_replace("v", "V", $username);
$username=eregi_replace("w", "W", $username);
$username=eregi_replace("x", "X", $username);
$username=eregi_replace("y", "Y", $username);
$username=eregi_replace("z", "Z", $username);
?>
Должно помочь...
вместо переменной "$username" впиши ту что стоит у тебя...[/quote]

Чтот у меня не изменилось нечего может чё не так напортачил я!

А реально  в самой регистрации запретить использование CapsLock? если да то как можно намутить?

Zеvs


GrInYa

Цитата: rudik от 2010 Апр. 20, 19:27  Чтот у меня не изменилось нечего может чё не так напортачил я!

А реально  в самой регистрации запретить использование CapsLock? если да то как можно намутить?
для этого нужно добавить в инпуты
onKeyUp="this.value=this.value.toLowerCase();"

rudik

мда я валенок и есть валенок !

GrInYa можешь подробней расказать или показать куда и что?

Zеvs


GrInYa

Цитата: Zеvs от 2010 Апр. 20, 20:04  Ему помоему легче пропустить через PHP.


if ($username   ==   strtolower($username))
{
//success here
}
else
{
//error here
}

Deathless

Смешно читать что вы тут понаписали, ответ намного проще...

Хорошо, расскажу вам секрет:
# Если кто-то возился с базами МУ, то мог заметить такое чудо:
# Создаём акк на сайте в нужном регистре, например: DeAthLesS
# Заходим в игру и вводим в поле аккаунта dEaTHleSs
# Теперь примитивные сайты считают что у нас два аккаунта
# На самом деле акк один для сервера МУ
# Смотрим таблицы Character (игровая таблица) и MEMB_INFO (регистрационная таблица)
# Видим что в MEMB_INFO будет написать тот логин, который мы создали на сайте
# А в Character - тот который создался в игре при первом заходе

Вывод:
Создаём проверку не по таблице Character, а по таблице MEMB_INFO:
$query = mssql_fetch_row(mssql_query("select memb___id from MEMB_INFO where memb___id = '$"Имя_сессии_игрока"'"));
if ($query[0] != $"Имя_сессии_игрока") {
die, exit, header location и т.д., чего душа желает
}

Проверка в Case Sensitive, т.е. ищет данные только в том регистре, который был дан.

Важно:
АККАУНТЫ МОЖНО СОЗДАВАТЬ В ЛЮБОМ РЕГИСТРЕ, НО ЗАЙТИ МОЖНО ТОЛЬКО В ТОМ РЕГИСТРЕ В КОТОРОМ БЫЛ СОЗДАН АККАУНТ НА САЙТЕ.

epmak

Спойлер
вот примерно то же, но проще раз в 10 написал :)
Спойлер
Deathless, респект, я катаюсь от смеха :)))))
[свернуть]
[свернуть]

cswars

Непомогло! Дай подробнее описание куда ставить.

Что мне делать с этим скриптом???

$query = mssql_fetch_row(mssql_query("select memb___id from MEMB_INFO where memb___id = '$"Имя_сессии_игрока"'"));
if ($query[0] != $"Имя_сессии_игрока") {
die, exit, header location и т.д., чего душа желает
}

Deathless

$checkacc = mssql_fetch_row(mssql_query("select memb___id from MEMB_INFO where memb___id = '$username'"));
if ($checkacc[0] != $username) { echo "Wrong account!"; }

Куда ещё понятней можно написать...
Перечитай моё предыдущее сообщение.

P.S.: Для "особенных" - это вставляется в index.php там где идёт проверка на наличие правильных акков, паролей и т.д.

epmak

ну как вариант можно написать

if ($checkacc[0] === $username) { тут если все хорошо}
else {//тут если не правильно}
если я ничего не путаю знак "===" сравнивает посимвольно

GrInYa

Цитата: epmak от 2010 Июнь 11, 10:17  ну как вариант можно написать

if ($checkacc[0] === $username) { тут если все хорошо}
else {//тут если не правильно}
если я ничего не путаю знак "===" сравнивает посимвольно

ошибаешся

https://php.net/manual/en/language.operators.comparison.php

как можно такое не знать програмисту? ^_^

epmak

да, каюсь, перепутал,
"==="  тождественное равно, т.е. операнды имеют одинаковые значения и одного типа.

задам встречный вопрос, как можно быть таким не внимательным?

Похожие темы (5)