Ru-MaNGOS

Вернуться   Ru-MaNGOS > Дополнения > WWW

Важная информация

WWW Web интерфейс для MaNGOS

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.03.2011, 08:35   #1
ExDragon
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 58
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
ExDragon На верном пути
По умолчанию Аукцион чаров!

ExAuction - Это сайт реализован для MaNGOS (планируется и Trinity Core), в него входят возможности:
- Выставлять своих персонажей на аукцион для обмена.
- Смена ника, пола, (расы, фракции - требуется патч в ядро).
- Смена пароля учётной записи.
- Смена e-mail учётной записи.
- Регистрация новой учётной записи.

Последняя стабильная версия 0.29
Git
Код:
git://github.com/ExDragon/ExAuction.git

Последний раз редактировалось ExDragon; 01.08.2011 в 11:00.
ExDragon вне форума   Ответить с цитированием
Старый 27.03.2011, 00:09   #41
hyperion
Новичок
 
Регистрация: 02.05.2010
Сообщений: 28
Сказал(а) спасибо: 5
Поблагодарили 8 раз(а) в 2 сообщениях
hyperion На верном пути
По умолчанию

А еще лучше использовать библиотеку для работы с бд, DBSimple как пример. И всю логику реализовать в каком-то классе, написать методы insert, update, detete, findById, в которых будут паметризованные запросы. Потом ты сможешь повторно их использовать, возможно даже в другом проекте.
hyperion вне форума   Ответить с цитированием
Старый 11.04.2011, 16:38   #42
ExDragon
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 58
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
ExDragon На верном пути
По умолчанию

блин на добыло написать I will be back
я сделал ну ка знатоки, скажите свое мнение о безопасности и модульности!
тут должны быть ошибки ведь я изменял структуру базы.. может что то пропустил...
Смотрите первый пост
ах да
Код:
CREATE TABLE `auction` (
  `guid` int(11) unsigned NOT NULL default '0',
  `account` int(11) unsigned default '0',
  `if_class` tinyint(3) unsigned default '0',
  `if_flag` tinyint(3) unsigned default '0',
  `if_level` tinyint(3) unsigned default '0',
  PRIMARY KEY  (`guid`),
  KEY `account` (`account`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Код:
CREATE TABLE `shop` (
  `key` int(11) unsigned default '0',
  `guid` int(11) unsigned NOT NULL default '0',
  `shop_guid` int(11) unsigned default '0',
  UNIQUE KEY `key` (`key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Код:
CREATE TABLE `news` (
  `id_news` int(11) NOT NULL auto_increment,
  `name` tinytext NOT NULL,
  `body` text NOT NULL,
  `hide` enum('show','hide') NOT NULL default 'show',
  PRIMARY KEY  (`id_news`)
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8 AUTO_INCREMENT=23 ;

Последний раз редактировалось ExDragon; 11.04.2011 в 16:51.
ExDragon вне форума   Ответить с цитированием
Старый 11.04.2011, 16:43   #43
Ambal
MaNGOS Dev
 
Аватар для Ambal
 
Регистрация: 22.06.2010
Сообщений: 78
Сказал(а) спасибо: 24
Поблагодарили 71 раз(а) в 25 сообщениях
Ambal Скоро придёт к известности
По умолчанию

ExDragon, пользуйтесь транзакциями для работы с БД дабы целостность данных не пострадала. Для этого вам придется создавать таблицы, использующие InnoDB (ENGINE=InnoDB), а не MyISAM.
Ambal вне форума   Ответить с цитированием
Старый 11.04.2011, 16:50   #44
ExDragon
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 58
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
ExDragon На верном пути
По умолчанию

исправим
ExDragon вне форума   Ответить с цитированием
Старый 11.04.2011, 17:33   #45
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию

Цитата:
ну ка знатоки, скажите свое мнение о безопасности и модульности!
Подобие модульности появилось. Почему "подобие", да потому что много лишних телодвижений...

Защита от взлома отсутствует напрочь. Я, даже не логинясь, одной хитронаписаной ссылкой смогу запросто стырить персонажа. ГЕТ-ы не проверяются ВООООООООБЩЕ!!!!
Кот ДаWINчи вне форума   Ответить с цитированием
Старый 11.04.2011, 18:55   #46
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

http://php.net/manual/en/language.oop5.autoload.php
  Ответить с цитированием
Старый 12.04.2011, 06:04   #47
ExDragon
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 58
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
ExDragon На верном пути
По умолчанию

Цитата:
Сообщение от Кот ДаWINчи Посмотреть сообщение
Подобие модульности появилось. Почему "подобие", да потому что много лишних телодвижений...

Защита от взлома отсутствует напрочь. Я, даже не логинясь, одной хитронаписаной ссылкой смогу запросто стырить персонажа. ГЕТ-ы не проверяются ВООООООООБЩЕ!!!!
КАК! всё проверяется.. может вы просто увидели сообщение? это модуль простой
ExDragon вне форума   Ответить с цитированием
Старый 12.04.2011, 07:06   #48
alien
Ученый
 
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
alien На верном пути
По умолчанию

Думаю тут замешана
Цитата:
$dualq = mysql_query('SELECT * FROM `characters` WHERE `guid` = "'.$_GET['g'].'"');
это строка как минимум.
alien вне форума   Ответить с цитированием
Старый 12.04.2011, 07:26   #49
Ambal
MaNGOS Dev
 
Аватар для Ambal
 
Регистрация: 22.06.2010
Сообщений: 78
Сказал(а) спасибо: 24
Поблагодарили 71 раз(а) в 25 сообщениях
Ambal Скоро придёт к известности
По умолчанию

напрямую выполнять запросы базы данных и не иметь никакой защиты от SQL-инъекций... однако Пользуйтесь mysql_escape_string(), мануалы в интернете.
Ambal вне форума   Ответить с цитированием
Старый 12.04.2011, 07:29   #50
ExDragon
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 58
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
ExDragon На верном пути
По умолчанию

то есть любые открытые запросы должны защищаться mysql_escape_string().. учту
ExDragon вне форума   Ответить с цитированием
Старый 12.04.2011, 07:35   #51
Ambal
MaNGOS Dev
 
Аватар для Ambal
 
Регистрация: 22.06.2010
Сообщений: 78
Сказал(а) спасибо: 24
Поблагодарили 71 раз(а) в 25 сообщениях
Ambal Скоро придёт к известности
По умолчанию

Цитата:
Сообщение от ExDragon Посмотреть сообщение
то есть любые открытые запросы должны защищаться mysql_escape_string().. учту
http://ru.wikipedia.org/wiki/Внедрение_SQL-кода - почитайте на досуге. Очень хорошие материалы в конце этой темы на Википедии.
Ambal вне форума   Ответить с цитированием
Старый 12.04.2011, 07:39   #52
ExDragon
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 58
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
ExDragon На верном пути
По умолчанию

пс она бы и так не прошла
Код:
if (isset($_GET['g'])){
	if ($auc->ControlGuid_User($_GET['g'])){
		header("Location: http://".$_SERVER['HTTP_HOST']."/".$lk_dir."/?m=message&ge=0");
	}
}
ExDragon вне форума   Ответить с цитированием
Старый 12.04.2011, 07:42   #53
alien
Ученый
 
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
alien На верном пути
По умолчанию

Кто вам такое сказал.
Спешу вас расстроить, все прошло бы.
header("Location: http://".$_SERVER['HTTP_HOST']."/".$lk_dir."/?m=message&ge=0") просто изменяет хедер. На основе которого браузер перенеаправляет на стрницу. Но если вручную послать HTTP запрос и получить ответ, то у нас просто будет в ответе стоять редерект. Но весь вывод будет.
alien вне форума   Ответить с цитированием
Старый 12.04.2011, 08:58   #54
ExDragon
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 58
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
ExDragon На верном пути
По умолчанию

что
m=message принимает GET и просто выводит сообщение если его заменить то она выведет другое сообщение вот и всё
хм что это я же его вроде менял О_0 возможно это лишние
ExDragon вне форума   Ответить с цитированием
Старый 12.04.2011, 11:16   #55
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

eregi - This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.
mysql_escape_string - This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.

выложил для сравнения предложенные варианты валидации email-а
1. ExDragon
2. shamun
3-4 Праведник
$regemail = funcValidEmail(...);
if ($regemail && $regname && ..) достаточная проверка далее по коду.

скачайте DBSimple...там и транзакции есть и "правильное" закавычивание, ну или mysql_real_escape_string используйте
  Ответить с цитированием
Пользователь сказал cпасибо:
ExDragon (12.04.2011)
Старый 12.04.2011, 12:17   #56
ExDragon
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 58
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
ExDragon На верном пути
По умолчанию

FILTER_VALIDATE_EMAIL тоже показывает хороший результат, может его использовать? я понимаю это макрос.. его нужно писать или он есть в PHP
ExDragon вне форума   Ответить с цитированием
Старый 12.04.2011, 12:31   #57
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от ExDragon Посмотреть сообщение
FILTER_VALIDATE_EMAIL тоже показывает хороший результат, может его использовать? я понимаю это макрос.. его нужно писать или он есть в PHP
это константа...
http://php.net/manual/en/filter.filters.validate.php
  Ответить с цитированием
Старый 12.04.2011, 13:17   #58
alien
Ученый
 
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
alien На верном пути
По умолчанию

Я про то что если вы написали header("Location: любой адрес.")
То это не значит что выполнение скрипта прервется.
Вы не увидете результат вывода который произойдет в браузере но он точно также выводится.
alien вне форума   Ответить с цитированием
Старый 12.04.2011, 15:50   #59
ExDragon
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 58
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
ExDragon На верном пути
По умолчанию

Цитата:
Сообщение от alien Посмотреть сообщение
Я про то что если вы написали header("Location: любой адрес.")
То это не значит что выполнение скрипта прервется.
Вы не увидете результат вывода который произойдет в браузере но он точно также выводится.
так он и не нужен.. там же GET это модуль и всё, всё работает... или я что то не понимаю
пс скоро выложу новую версию с исправленными ошибками и я избавился от GET (кроме сообщений)

Подскажите как сделать проверку на - введенный акк состоит из A-Z a-z 0-9 это типа eregi... тока я не пойму как их делать О_0

Последний раз редактировалось ExDragon; 12.04.2011 в 16:21.
ExDragon вне форума   Ответить с цитированием
Старый 12.04.2011, 17:05   #60
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию

Цитата:
Сообщение от ExDragon Посмотреть сообщение
Подскажите как сделать проверку на - введенный акк состоит из A-Z a-z 0-9 это типа eregi... тока я не пойму как их делать О_0
http://www.php.su/functions/?preg-match
Кот ДаWINчи вне форума   Ответить с цитированием
Старый 12.04.2011, 18:49   #61
Lordronn
Умный
 
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
Lordronn Скоро придёт к известности
По умолчанию

Цитата:
Подскажите как сделать проверку на - введенный акк состоит из A-Z a-z 0-9 это типа eregi... тока я не пойму как их делать О_0
Регулярное выражение используй
Lordronn вне форума   Ответить с цитированием
Старый 12.04.2011, 19:05   #62
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

уже ж выше писал...
НЕ НАДО использовать eregi
preg_match('/^[0-9a-z]+$/i',$string)

ps так коллективом и сделаем
  Ответить с цитированием
Старый 12.04.2011, 22:05   #63
tempura
Forum bot
 
Аватар для tempura
 
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
tempura отключил(а) отображение уровня репутации
По умолчанию

__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки.
tempura вне форума   Ответить с цитированием
Старый 12.04.2011, 23:15   #64
alien
Ученый
 
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
alien На верном пути
По умолчанию

Цитата:
Сообщение от ExDragon Посмотреть сообщение
так он и не нужен.. там же GET это модуль и всё, всё работает... или я что то не понимаю
пс скоро выложу новую версию с исправленными ошибками и я избавился от GET (кроме сообщений)

.....
ой пардон когда начал разбирать не совсем понял. Вообщем этот код не препятствует SQL-inj так-что если правильно передать $_GET['g'] то можно получить любые данный из базы.
alien вне форума   Ответить с цитированием
Старый 12.04.2011, 23:54   #65
Ambal
MaNGOS Dev
 
Аватар для Ambal
 
Регистрация: 22.06.2010
Сообщений: 78
Сказал(а) спасибо: 24
Поблагодарили 71 раз(а) в 25 сообщениях
Ambal Скоро придёт к известности
По умолчанию

Цитата:
Сообщение от alien Посмотреть сообщение
если правильно передать $_GET['g'] то можно получить любые данный из базы.
...либо удалить все нах... если поддерживаются multiple statements
Ambal вне форума   Ответить с цитированием
Старый 13.04.2011, 05:15   #66
ExDragon
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 58
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
ExDragon На верном пути
По умолчанию

ща сделаю регистрацию.. и покажу я убрал это вообще...

Код:
			$q_acc = mysql_query('SELECT `username` FROM `account` WHERE `username` = "'.mysql_real_escape_string($_POST['regname']).'"');
			if (!$acc = mysql_fetch_assoc($q_acc)){
				$Tneme = true;
			} else {
		       $Tneme = false;
		    }
хм вот это мне не нравится... как проверить не занят ли акк?

0.2.2 beta
Смотрите первый пост
уже лучше

Код:
	if (iconv_strlen($_POST['regpass1']) >= 6){
		if ($_POST['regpass1'] == $_POST['regpass2']){
			$Tpass = true;
		} else {
			$Tpass = false;
			$rp = 1;
		}
	} else {
		$Tpass = false;
		$rp = 2;
	}
Код:
	if ($_GET['rp'] == 1){
		echo '<div class="error">Пароли не совпадают</div>';
	} elseif ($_GET['rp'] == 2) {
		echo '<div class="error">Пароль должен состоять минимум из 6 символов</div>';
	}
уже будет 0.2.3

Последний раз редактировалось NeatElves; 13.04.2011 в 10:37.
ExDragon вне форума   Ответить с цитированием
Старый 13.04.2011, 10:03   #67
ExDragon
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 58
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
ExDragon На верном пути
По умолчанию

пс модераторы, можно ли переименовать тему, это уже проект однако
ExDragon вне форума   Ответить с цитированием
Старый 13.04.2011, 10:22   #68
Ambal
MaNGOS Dev
 
Аватар для Ambal
 
Регистрация: 22.06.2010
Сообщений: 78
Сказал(а) спасибо: 24
Поблагодарили 71 раз(а) в 25 сообщениях
Ambal Скоро придёт к известности
По умолчанию

Переименуем сразу как вас перестанут поучать в каждом посте
Ambal вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
tempura (13.04.2011)
Старый 13.04.2011, 15:19   #69
ExDragon
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 58
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
ExDragon На верном пути
По умолчанию

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

Следующим шагом будет страница правки данных (пароль, маил)
mail()
Модуль "Новости"
И дальше уже нужно тестировать на сервере... но это потом

Последний раз редактировалось ExDragon; 13.04.2011 в 15:24.
ExDragon вне форума   Ответить с цитированием
Старый 14.04.2011, 11:36   #70
ExDragon
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 58
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
ExDragon На верном пути
По умолчанию

ну вот 0.2.3..
mail() следующий шаг
ExDragon вне форума   Ответить с цитированием
Старый 14.04.2011, 12:16   #71
Sid
Ученый
 
Аватар для Sid
 
Регистрация: 02.04.2010
Сообщений: 237
Сказал(а) спасибо: 41
Поблагодарили 99 раз(а) в 44 сообщениях
Sid Скоро придёт к известностиSid Скоро придёт к известности
По умолчанию

sql.sql

Цитата:
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8 AUTO_INCREMENT=23 ;
__________________
SpellWork Qt4
Sid вне форума   Ответить с цитированием
Старый 14.04.2011, 15:47   #72
ExDragon
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 58
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
ExDragon На верном пути
По умолчанию

я если честно не очень понимаю значение этих строк.. я просто скопировал их... а что не так?
ExDragon вне форума   Ответить с цитированием
Старый 14.04.2011, 16:02   #73
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от ExDragon Посмотреть сообщение
я если честно не очень понимаю значение этих строк.. я просто скопировал их... а что не так?
счетчик начнется не с 0, а с 23..как бы не корректно.

Код:
if(!$cont = @mysql_connect($db_ip, $db_user, $db_pw)) die( mysql_error());
  Ответить с цитированием
Старый 14.04.2011, 16:38   #74
ExDragon
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 58
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
ExDragon На верном пути
По умолчанию

0.2.4! исправил серьёзный баг с регистрацией/авторизацией/смены пароля
убрал AUTO_INCREMENT..
ExDragon вне форума   Ответить с цитированием
Старый 14.04.2011, 16:43   #75
ExDragon
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 58
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
ExDragon На верном пути
По умолчанию

Код:
CREATE TABLE `auction` (
  `guid` int(11) unsigned NOT NULL default '0',
  `account` int(11) unsigned default '0',
  `if_class` tinyint(3) unsigned default '0',
  `if_flag` tinyint(3) unsigned default '0',
  `if_level` tinyint(3) unsigned default '0',
  PRIMARY KEY  (`guid`),
  KEY `account` (`account`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `shop` (
  `key` int(11) unsigned default '0',
  `guid` int(11) unsigned NOT NULL default '0',
  `shop_guid` int(11) unsigned default '0',
  UNIQUE KEY `key` (`key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `news` (
  `id_news` int(11) unsigned NOT NULL default '0',
  `author` varchar(32) default NULL,
  `name` tinytext NOT NULL,
  `min` text NOT NULL
  `full` text NOT NULL
  `date` timestamp NOT NULL default '0000-00-00 00:00:00',
  `hide` enum('show','hide') default 'show',
  PRIMARY KEY  (`id_news`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Последний раз редактировалось ExDragon; 14.04.2011 в 16:53.
ExDragon вне форума   Ответить с цитированием
Старый 14.04.2011, 18:10   #76
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию

Цитата:
Сообщение от ExDragon Посмотреть сообщение
0.2.4! исправил серьёзный баг с регистрацией/авторизацией/смены пароля
убрал AUTO_INCREMENT..
Заведи репозиторий. хотя бы на SVN....
Кот ДаWINчи вне форума   Ответить с цитированием
Старый 15.04.2011, 09:22   #77
alien
Ученый
 
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
alien На верном пути
По умолчанию

Цитата:
$dualq = mysql_query('SELECT * FROM `characters` WHERE `guid` = "'.$_POST['shop_guid'].'"');
И где тут фикс SQL-inj?
alien вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
ExDragon (15.04.2011)
Старый 15.04.2011, 16:29   #78
ExDragon
Пользователь
 
Регистрация: 02.02.2011
Сообщений: 58
Сказал(а) спасибо: 17
Поблагодарили 0 раз(а) в 0 сообщениях
ExDragon На верном пути
По умолчанию

проблема с базой.. а точней с индексами..
Код:
CREATE TABLE `news` (
  `id_news` int(11) unsigned NOT NULL default '0',
  `author` varchar(32) default NULL,
  `name` tinytext NOT NULL,
  `min` text NOT NULL
  `full` text NOT NULL
  `date` timestamp NOT NULL default '0000-00-00 00:00:00',
  `hide` enum('show','hide') default 'show',
  PRIMARY KEY  (`id_news`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
пс phpMyAdmin не поддерживает InnoDB..
Проблема состоит в том что каждая новая новость начинается с нуля
Код:
`id_news` int(11) unsigned NOT NULL default '0'
PRIMARY KEY  (`id_news`)
AUTO_INCREMENT я понимаю тут замешана
ExDragon вне форума   Ответить с цитированием
Старый 15.04.2011, 16:51   #79
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

Попробуй так:
Код:
`id` int(11) unsigned NOT NULL AUTO_INCREMENT
virusav вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
ExDragon (16.04.2011)
Старый 15.04.2011, 18:54   #80
Sid
Ученый
 
Аватар для Sid
 
Регистрация: 02.04.2010
Сообщений: 237
Сказал(а) спасибо: 41
Поблагодарили 99 раз(а) в 44 сообщениях
Sid Скоро придёт к известностиSid Скоро придёт к известности
По умолчанию

Так ты убрал автоинкремент) я просто показал на то что он у тебя с 23 начинался)) зачем его убирать надо было? Поставил бы с 1 и все.
__________________
SpellWork Qt4
Sid вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
премейд чаров Fedia22 Корзина 3 08.10.2010 15:29
Конвертер базы чаров trinity->mangos Blocker Корзина 1 09.03.2010 17:45


Текущее время: 21:33. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot