Ru-MaNGOS

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

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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.03.2010, 07:27   #1
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию [control panel] ACP - Панель управления учетными записями.

Описание
ACP (Account Control Panel) – предназначена для управления игроками аккаунтами и персонажами. (Он же личный кабинет). Написана на PHP. Главный девиз программы «чем проще - тем лучше». Но некоторой "паранойи", в виде подтверждений по емайлу, не помешает.

Функционал
* регистрация нового аккаунта
* восстановление пароля к аккаунту по средствам электронной почты
* просмотр информации об аккаунте и персонажах
* смена пароля,
* смена емайла,
* смена типа аккаунта (wow, tbc, wotlk)
* lock / unlock аккаунта
* вытаскивание персонажа из застреваний
* переименование персонажа
* перенос персонажа на другой аккаунт
* телепортация персонажа в дружественную столицу
* просмотр информации о банах
* просмотр доступных команд сервера
* просмотр объявлений autobroadcast-a
* логирование всех важных операций

Требования
* PHP 4.x - 5.3.3
* MySQL 4.x и выше
* Mangos 3.1.3 сборка 8072 или выше
* Патч Autobroadcast (не обязателен).
* register_globals = Off
* safe mode off


Установка
Установка проходит в 2 этапа:
1. Импортируйте SQL/acp.sql в БД acp(lk)
2. Отредактируйте config/config.php (все пояснения для настройки есть в самом файле.)
3. Внести данные о реалмах в config/realmlist.php

Заметки
Это мой первый полный проект. До этого ограничивался подгонкой под себя того что уже есть. Но в определенный момент понял, что нормального, в моем особом понимании этого дела, личного кабинета не существует. Со всем уважением к TIMzs, но его кабинет не давал мне того, чего хотелось. Вот я и решил сделать всё сам. Понимаю, что некоторые участки кода можно переделать и оптимизировать, но познания в PHP растут вместе с этим маленьким проектом….
Большое количество шкурок вызвано моим интересом «а как ACP будет смотреться в дизайне вон того сайта?»…
Забыл добавить, что в файле английского интерфейса(include/text.en.php) залиты русские тексты в utf-8. Кому понадобиться, тот переведёт.

Последняя версия - 2.33 (2 - версия движка, 33 - ревизия).


ВНИМАНИЕ! Первая версия движка никогда мной не была доведена до ума и полной работоспособности. На определенном этапе разработки АСР, был написан с нуля движок 2-ой версии. Работы по первой версии были полностью и бесповоротно прекращены. Те администраторы, которые используют старый движок должны знать, что в нем есть куча дыр, неисправностей и прочих косяков. За утрату информации сервера, при использовании АСР-1, вы сами несете ответственность.

--------
Послесловие
Выражаю огромную благодарность Камекадзе, TIMzs, Antimatrix и другим участникам форума, из чьих работ я брал идеи для своего проекта.







----------------------------
tempura
Автор очередного вопроса на тему "что дальше?", "когда будет?" и т.п. - автоматически вылетает в Рид-Онли на пару недель. В соответствии с общепринятым правилом "сначала читайте шапку, потом всю ветку".
Миниатюры
Нажмите на изображение для увеличения
Название: ACP2.jpg
Просмотров: 4677
Размер:	144.7 Кб
ID:	27  

Последний раз редактировалось Кот ДаWINчи; 26.07.2012 в 20:05.
Кот ДаWINчи вне форума   Ответить с цитированием
81 пользователя(ей) сказали cпасибо:
Alehander (11.03.2010), angelShlesser (25.03.2010), anvd24 (11.05.2010), blackmanos (18.07.2010), Chaosua (18.04.2010), CruncH (15.05.2010), DeusModus (08.03.2010), dikabraz (31.08.2012), ExC0tiC (08.03.2010), Fedia22 (11.06.2010), Feel the Power (02.06.2010), Hantet (16.03.2010), KiriX (08.03.2010), Konctantin (08.03.2010), labor (05.05.2010), Lightunit (17.06.2010), lina (01.04.2012), Lurker (10.03.2010), Mayss (07.04.2010), Medivh (09.03.2010), mozilla (13.03.2010), Neggod (08.03.2010), ObeDve (17.12.2010), PSZ (23.03.2010), Rave (19.02.2011), rootor (08.03.2010), selector (22.04.2010), Sergey (14.04.2010), SergZ (15.01.2011), sven (19.04.2010), Viste (10.03.2010), _PARADOX_ (02.06.2010), Дмитрий "Айдин" (05.06.2010)
Старый 06.03.2012, 04:20   #281
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию

Цитата:
Сообщение от KiriX Посмотреть сообщение
Смена расы и класса, я уж думал самому что-ли наваять в твой же кабинет, благо, там ничего особо сложного
Так что спасибо, уберёг от лишних телодвижений
там сделано по методу смены имени и внешности. Устанавливается нужный флаг в `at_login`

Вот так:
Код:
         $res = mysql_query("update `characters` set `at_login` = `at_login` | 64, `money` = `money` - "
                    . $PayMoney . " where `guid` = " . (int) $_POST['character']);
Кот ДаWINчи вне форума   Ответить с цитированием
Старый 06.03.2012, 08:09   #282
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

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

Спасибо пользователям, что иногда, очень редко, но тыкают меня в старые, забытые мной и богом, модули.
Сегодня подсказали дыру в modules/static.php
Как всегда, я старый маразматик, в этом на первый взгляд безобидном модуле забыл проверить $_GET на вшивость.
Вот новый вариант модуля. Всего-то надо вставить 2 раза (int) и дырка прикрыта.
Код:
<?php

if (isset($_GET['id']) and ((int)$_GET['id'] > 0))
    {
    $k_connect = mysql_connect($k_ip, $k_userdb, $k_pw);
    mysql_select_db($k_db, $k_connect);
    mysql_query("SET NAMES 'utf8'");
    $res = mysql_query("SELECT * FROM `static` where `id` = " . (int)$_GET['id'] . " limit 1");
    if (mysql_num_rows($res) > 0)
        {
        $nres = mysql_fetch_array($res);
        echo '<table width="90%" border="0" cellspacing="0" cellpadding="5">';
        echo '<tr><td align="left" class="NewsLogo">';
        if ($nres['type'] == 2)
            echo '<img src="images/no.png" align="absmiddle">';
        elseif ($nres['type'] == 1)
            echo '<img src="images/yes.png" align="absmiddle">';
        else
            echo '<img src="images/admin.png" align="absmiddle">';
        echo '</td>';
        echo '<td align="left" class="';
        if ($nres['type'] == 2)
            echo 'NewsTitleGM';
        elseif ($nres['type'] == 1)
            echo 'NewsTitlePlayer';
        else
            echo 'NewsTitleAll';
        echo '">' . $nres['title'] . '&nbsp;</td>';
        echo '<td align="right" class="NewsDate">' . $nres['date'] . '</td>';
        echo '</tr>';
        echo '<tr><td colspan=3 class="NewsContent">' . $nres['text'] . '</td></tr>';
        echo '</table>';
        }
    else
        echo $txt['234'];
    }
else
    {
    echo $txt['234'];
}
?>
извините меня, старого маразматика, за сию чудную дыру... (видать пора на пенсию).

И огромное спасибо что подсказали.

Последний раз редактировалось Кот ДаWINчи; 29.03.2012 в 13:46.
Кот ДаWINчи вне форума   Ответить с цитированием
Старый 29.03.2012, 15:31   #284
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

Хм... Зачем два раза? Вроде, одного достаточно, ведь проверка в первом условии:
((int)$_GET['id'] > 0)
может и не пройти, если там что-то не так будет.
Если я юзаю $_GET - всегда в функциях есть минипроверочка данной переменной:
PHP код:
function quote_smart(&$value)
{
    
// если magic_quotes_gpc включена - используем stripslashes
    
if (get_magic_quotes_gpc()) {
        
$value stripslashes($value);
    }
    
// Если переменная - число, то экранировать её не нужно
    // если нет - то окружем её кавычками, и экранируем
    
if (!is_numeric($value)) {
        
$value "'" mysql_real_escape_string($value) . "'";
    }
    return 
$value;

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

KiriX, ты и прав, и не прав одновременно. В общем плане - ПРАВ. А В конкретно данном случае - нет. т.к. здесь по $_GET должно (но не обязано ) приходить ЦЕЛОЕ ЧИСЛО. а значит самым быстрым, простым и эффективным способом проверить поступившие данные - это банальное преобразование к целому.

а два раз вот зачем. Допустим вместо "4" приходит строка "4 or ....... и тут инъекция"
в сравнении if некоторые версии пхп вернут 0 (и проблем нет), а некоторые 4 ....
но сама переменная $_GET['id'] останется с инъекцией


ps: Не забывайте, что АСР - это очень бородатый проект 2009 года. Это по сути мой первый проект, где я всё писал сам (почти не подглядывал у других, за исключением мелочей). И с высоты прошедшего времени, я скажу так. "Там много чего написано по-дилетантски ... сейчас я бы написал совершенно по другому"

ps2:
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 30 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
Кот ДаWINчи вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
KiriX (29.03.2012)
Старый 29.03.2012, 16:32   #286
Evgeniy
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
Evgeniy На верном пути
По умолчанию

Код:
if (isset($_GET['id']) and is_numeric($_GET['id']) and ((int)$_GET['id'] > 0 ))
что бы точно было только число.
Evgeniy вне форума   Ответить с цитированием
Старый 29.03.2012, 20:28   #287
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

Кот ДаWINчи, спасибо, вот про сравнение-то мне и было интересно услышать
Ну и функция проверки всё-таки не лишней будет

P.S: Проект твой весьма неплох, лёгок очень, прост, удобен и достаточно функционален. Но вот чего ему не хватает, так это скриптов и аякса, в некоторые места он так и просится
KiriX вне форума   Ответить с цитированием
Старый 02.04.2012, 14:02   #288
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
Восклицание

доработал модуль events.php .... а то 1 апреля как-то понедельником стало.
Вложения
Тип файла: zip events.zip (4.3 Кб, 510 просмотров)
Кот ДаWINчи вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
KiriX (02.04.2012), Mayss (04.04.2012)
Старый 09.04.2012, 13:08   #289
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию

Добрый день. После выходных, во время которых я просмотрел и проанализировал большую часть проекта, родилась куча бесценных мыслей. По сему, перед тем как их начать воплощать, я решил "зарелизить" текущее положение вещей.

И так ... Внеплановая рева проекта: 2.33.
Это обновление содержит совсем немного доработок. А именно:
1. коррекцию modules/static.php (из поста выше)
2. доработку modules/events.php (из поста выше)
3. шкурку АСР (ее я использовал при разработке предыдущей ревы, но забыл включить)

На вопрос "зачем нужна эта версия?" отвечу так: Это логический конец АСР-2. Далее что-то делать не изменив основы движка не вижу ни малейшей перспективы. Вот по этому и ставлю эту точку в конце абзаца. Теперь берусь за модернизацию и нововведения.

Главное что я собираюсь сделать - это ввести классы в движок. И начну с класса по работе с базой данных и класса аккаунта. Для этого мне придется внести изменения практически во все пхп-файлы проекта. в 2.34 будет всё тоже самое, но через новый способ подключения к базе данных. и так ... ждите mysqli и класс доступа к данным.
Вложения
Тип файла: zip acp-2_33.zip (4.44 Мб, 1243 просмотров)
Кот ДаWINчи вне форума   Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
KiriX (09.04.2012), Mayss (09.04.2012), StinK (09.04.2012)
Старый 09.04.2012, 13:16   #290
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию

Точнее класс то вот он! уже давно написан. Теперь его надо протестировать и вставить в проект.
Вложения
Тип файла: zip DBClass.zip (2.9 Кб, 521 просмотров)
Кот ДаWINчи вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
KiriX (09.04.2012), Mayss (09.04.2012)
Старый 09.04.2012, 15:05   #291
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

Хорошее начинание перейти на классы
После первого же моего опыта работы с ними я не понял, как я делал что-то без них раньше
Класс ДБ - зачем??? Чем не устраивает библиотека DBSimple? Ведь в неё уже по умолчанию залито множество защит от инъекций. Элементарных, конечно, но всё же сразу чутка безопаснее
KiriX вне форума   Ответить с цитированием
Старый 09.04.2012, 19:05   #292
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию

Цитата:
Но меня всегда смущает вопрос, а оно надо??? Может и вправду mysql за глаза и за уши???
Я просто думаю о будущем. Не за горами пхп 6.0! а в нем mysql будет депрекадет.
Вот я заранее и перестраиваюсь. А то потом такой комок проблем навалит, что придется в срочном порядке проводить тонну работы. а я этого не хочу.
Кот ДаWINчи вне форума   Ответить с цитированием
Старый 09.04.2012, 19:24   #293
hyperion
Новичок
 
Регистрация: 02.05.2010
Сообщений: 28
Сказал(а) спасибо: 5
Поблагодарили 8 раз(а) в 2 сообщениях
hyperion На верном пути
По умолчанию

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

Цитата:
Сообщение от hyperion Посмотреть сообщение
юзай PDO
Что последний пост прочел по диагонали и отвечаешь? Извини, но мы тут обсуждали mysqli, если не заметил. Так вот, я для своей работы уже выбрал mysqli. И даже класс для работы с ним написал. Переубедить меня в сторону ПДО - дохлый номер. А те кто хотят познать в чем разница - милости прошу на официальный сайт.

Тема по выбору АПИ закрыта.

Последний раз редактировалось Кот ДаWINчи; 09.04.2012 в 20:34.
Кот ДаWINчи вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
lovepsone (09.04.2012), Mayss (10.04.2012)
Старый 10.04.2012, 07:54   #295
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

Цитата:
Сообщение от Кот ДаWINчи Посмотреть сообщение
Я просто думаю о будущем. Не за горами пхп 6.0! а в нем mysql будет депрекадет.
Вот я заранее и перестраиваюсь. А то потом такой комок проблем навалит, что придется в срочном порядке проводить тонну работы. а я этого не хочу.
Ну что всё-таки mysqli я точно понял Но меня особо радует, что ты решил пересесть на классы
Можно пожелание на будущее? Больше javascript и ajax
KiriX вне форума   Ответить с цитированием
Старый 11.04.2012, 17:26   #296
ObeDve
Новичок
 
Регистрация: 17.10.2010
Сообщений: 24
Сказал(а) спасибо: 10
Поблагодарили 0 раз(а) в 0 сообщениях
ObeDve На верном пути
По умолчанию

Присоединяюсь к пожеланиям, хоть и не пользуюсь системой (так как нет поддержки 2.4.3), но было бы куда удобней если бы были официальные обновления в виде патчей отдельных а не сразу всем сайтом по 5 мб. А так же вносить изминения и поддерживать актуальность в первом посте (cейчас там например ссылка на 32 реву).
ObeDve вне форума   Ответить с цитированием
Старый 11.04.2012, 19:10   #297
StinK
RMDC Donator
 
Аватар для StinK
 
Регистрация: 07.03.2010
Сообщений: 78
Сказал(а) спасибо: 48
Поблагодарили 32 раз(а) в 7 сообщениях
StinK На верном пути
По умолчанию

Кстати да. Давно бы уже пора на Git переехать
__________________
ModSpora: Web-Interface for MaNGOS
WoW и MaNGOS больше не моя стихия...
StinK вне форума   Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
Fedia22 (15.04.2012), KiriX (11.04.2012), lovepsone (11.04.2012)
Старый 12.04.2012, 17:46   #298
hyperion
Новичок
 
Регистрация: 02.05.2010
Сообщений: 28
Сказал(а) спасибо: 5
Поблагодарили 8 раз(а) в 2 сообщениях
hyperion На верном пути
По умолчанию

Продолжу холивар.
API supports client-side Prepared Statements No Yes
Одна эта возможность перекрывает плюсы mysqli, т.к. можно забыть про инъекции
hyperion вне форума   Ответить с цитированием
Старый 12.04.2012, 19:51   #299
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию

холивара не будет. Я не склонен, как школоло, "меряться письками". Если кто не понял смысл постов №289 и 290, то суть такая: ВСЯ работа с базой будет реализована через один единственный класс. Кто хочет, тот переписывает его под mysql, pdo или еще что там, вплоть до mssql и oracle. ... и ваш сайт будет работать так, как вам это надо. так что главная задача отделения мух от котлет будет выполнена. а остальное - это уже ваша необходимость или "хотелка".
Кот ДаWINчи вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
tempura (13.04.2012)
Старый 13.04.2012, 02:51   #300
hyperion
Новичок
 
Регистрация: 02.05.2010
Сообщений: 28
Сказал(а) спасибо: 5
Поблагодарили 8 раз(а) в 2 сообщениях
hyperion На верном пути
По умолчанию

Вы видимо не поняли то, что я хотел сказать. PDO это уже готовый класс для работы с бд, и там не важно какой драйвер, хоть mysql, postger, sqlite и т.д и т.п. То есть вы по сути пишете тот же пдо для mysql поверх mysqli, вопрос, зачем? Производительность голого PDO сравнима с mysqli, но все, что в прилепленном вами класе уже реализовано в PDO.
Рассмотрим PDO::query(), это голый запрос. Возвращает обьект запроса или ложь в случае ошибки. Желаете узнать текст ошибки? Пожалуйста, PDO::errorInfo. Ну а если желаете узнать к-во колонок или строчек, PDOStatement::columnCount или PDOStatement::rowCount. Зачем изобретать велосипед? тем более что что mysqli это библиотека для доступа к скулю, а чистый PDO это уровень абстракции.
hyperion вне форума   Ответить с цитированием
Старый 13.04.2012, 12:42   #301
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию

Еще раз перечитал кучу статей в инете про mysqli и pdo ... Разобрал кучу примеров. Много думал. Но Убеждение относительно АСР осталось прежним. В этом проекте останется всё так как я задумал. (Если он еще кому-нибудь нужен.) А вот в новых проектах буду уже решать что использовать.
Наткнулся на хорошее мнение:

Цитата:
большой проект - работай с PDO в любом случае большие проекты оптимизируются и ускоряются совершенно другими методами 6% для них не выигрыш
малый проект работай с MySQLi
И полностью с этим согласен.

и еще... Где-то ранее читал, но сегодня подтверждения не нашел. Но мысль была такая: разработчики PHP в 6-й версии делают ставку на развитие именно MySQLi, а не PDO. Что скоро по своему функционалу MySQLi сравняется и даже обгонит PDO. ... Но увы сегодня подтверждения этой мысли не нашел. Может за эти месяцы что поменялось в умах разработчиков? или та статейка была фейком?

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

Привет всем. Давно не писал о проекте. Дела в нем топчутся на одном месте. Ибо времени на него после работы, халтуры и семейной жизни не остается ни сколько.

Наработки есть. Но мало. Думаю, что 34 рева будет, и будет к лету. отпишусь здесь и в своем блоге.

Хотел еще добавить, что раз я всё же сел за проект, то готов выслушать ваши "хотелки" ... вдруг какие из них реализую.

Последний раз редактировалось NeatElves; 21.03.2013 в 22:17.
Кот ДаWINчи вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
labor (18.09.2013), rootor (23.03.2013)
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[10288] Unsummon pet if pet direct control spell expire out of visibility range from owner. newsbot CMaNGOS Commits 0 30.07.2010 04:14
[10186] Fixed visibility constant refresh problem with pet direct control spells. newsbot CMaNGOS Commits 0 13.07.2010 01:26
[patch] Mind Control PSZ Отвергнутые патчи 3 14.06.2010 10:54
[10053] Use UNIT_STAT_CONTROLED for mark unit state under direct player control. newsbot CMaNGOS Commits 0 14.06.2010 09:30


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


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