Очень хорошая идея. готовые решения уже есть?
Дельнее совет только в отдельном контейнере поднимать свежую копию gamedbd, а после записи в sql - удалять. Могу скинуть блок на TC, если CI уместно конечно.
норм идея, в своё время не догадался..)
Можно в принципе, но на laravel
дело в процедуре, а точнее в параметре. надо убрать кавычки. типа явная типизация, все дела
сделай echo $row['passwd'] и base64_encode(md5($row['name'].$oldpass, true)) посмотри кто из них не тот
Хмм очень как то странно у тебя получилось У меня код сайта такой замудреный тут подгрузка там вывод вообще ппц Тогда добавим ещё щепотку $(document).ready(function(){ $('ul.nav-list li').each(function(index){ $(this).attr('data-index', index); }); /* http://plugins.jquery.com/cookie/ - плагин поставь если нету */ var current_index = $.cookie('active_link'); if(current_index){ $('ul.nav-list li').removeClass('active'); $('ul.nav-list li[data-index=' + current_index + ']').addClass('active'); } $('body').on('click', 'ul.nav-list li', function(){ index = $(this).attr('data-index'); $.cookie('active_link', index, { expires: 7, path: '/', }); }); }); Будет current-ссылка на js ставиться. Шикарная шутка.
Скорее всего энтузиазм поубавится после пары хотелок от неблагодарных юзеров да, ну, просте вы, мы всегда, в 99% случаях, пишем для клиентов, и да, мы пишем то, что они хотят. тут надо мировозрение менять. мы пишем не как правильно и нужно, а как хочет клиент, потому, что он клиент. как только такое понимание берётся за смысл жизни, энтузиазм прибавляется в разы. Pascal лучший вариант (шутка)
Год текущий, ничего не знаю)
Нет. Клиент всё таки заполняет информацию о сервере. Реквизиты он кому то предоставляет. И это нормальный случай, когда обращаешься в тех.поддержку дата центра, где снял машину, тебя просят дать доступы чтобы они могли что-то сделать. Вполне можно создать ЛК который описал alexdnepro. В самом начале ты у себя на сервере устанавливаешь бесплатный пакет. В пакет входит служба которая может слушать порт и выполнять сценарий команд. Это служба чисто пользовательская фигня. Мы сделаем подключение по хэшу выполняемого набора команд. В лк он делает заказ услуги и на его сервер отправляется пакет с текстом команд и ID заказа данной тех.подароботки, служба высчитывает хэш списка команд который она получила и клиент должен сравнить хэш который написан в лк и хэш который выдала служба. Ввести команду типа service pworder [0-9] [accept|delete] accept - выполнить заказ delete - отказ от заказа Выполняет список полученных команд. После завершения работы терминальных команд отправляет отчёт, что сервер клиента не сдох и заказ выполнен. Со счёта списывается денежная сумма. Чтобы наш сервис был очень популярен, нужно сделать бесплатные плюшки типа установка апач, мускула, почтового сервера (притом работающего, по сути после установки exim есть всего несколько причин почему письма могут не идти), установки реги на выбор. Остальная часть — платные услуги. Как в Clash of Clans будут прокачивать свой игровой сервер. Сначала они выбирают вообще сервер какой версии ставят, а потом типа древа улучшений. Но обязательно в виде списка услуг с ценами на выполнение тех. модификаций игрового сервера. В этом моменте можно активно темнить, вообще нигде не описывая принцип работы сервиса. "Ваш заказ на тех. модификацию выполняется." А кто там орудует человек или готовый скрипт не понятно, да и не интересно. Сложность разработки службы вообще почти никакая. Есть типа каркасы служб, код открыт, мы дописываем ту часть которая определяет что будет делать служба. Слушать порт и выводить хэш файла это очень сложно. Чисто бета-тест стартапа по удалённому администрированию серверов на примере услуг из категории Игростроение. В принципе, если всё стандартизировать, в дальнейшем можно будет быстро менять старые и добавлять новые доступные услуги. Наример установка программной части офисной АТС, рублей всего за 500
Я бы использовал preg_replace, замена по шаблону. Если регулярки не твой конёк, можно и explode'ом с str_replace Было <1><^ff6000[★★Тяжелое Кольцо Власти]> станет <1><span style="color:ff6000">★★Тяжелое Кольцо Власти</span>. http://www.php.su/functions/?cat=strings
Запускай от рутового крона скрипт, скрипт будет читать файл some.command и выполнять команду из строки файла. Ну а другим скриптом (с фронта) этот файл пишем. crontab -u root -e */1 * * * * php /myphp_script.php; /bin/sleep 30; php /myphp_script.php; myphp_script.php <? $f = fopen('some.command', 'r'); $command = fread($f, filesize('some.command')); exec($command); unlink('some.command'); ?> скрипт запускается с правами рута, открывает файл и выполняет команду, удаляет файл. Грубо говоря ты стоишь у реки и кидаеш крокодилу куски мяса. На выполнение мяса у тебя нет прав, но зато они есть у крокодила а ещё ты можешь его подкормить)
Спасибо за советы. буду смотреть. Проблемы конкретно с этим хостингом. Думал, может какого пакета не хватает.... Хостинг то какой? Я работал на всех хостингах России матушки, прайда, не вру.
Если не получается с сессиями, почему изначально не пойти по другому пути и не использовать куки? Создаёшь класс для работы с данными пользователя. Публичную переменную типа bool, которая при инициализации класса будет принимать значение true, если залогинен и false если нет. И на странице своей просто выводить что-нибудь типа: require_once "users_model.php"; $users = new Users; $users->init(); if ($users->loggined) { // вывод страницы } else { // сообщение о необходимости авторизоваться } а внутри самого класса что-нибудь типа... <?php class Users { public loggined = false; function init() { if ((isset($_COOKIE['login']))&&(isset($_COOKIE['password']))) { // сравниваем то, что в куках с тем, что в базе и если всё хорошо пишем: $this->loggined = true; } } } ?> поддерживаю, сам отхожу от сессий. По сути сессия - это кука, ключ массива на стороне сервера с данными пользователей. Например ты используешь $_SESSION['USER_ID'], на стороне сервера данные хранятся (имеют модель, храняться то они в сериализованной строке) вид типа Array( [71aa78b58093986a71a40c0ed76b93a8] => Array( [USER_ID] => 12345 ), [11aa28b54093986a71a50c0ed76b98a8] => Array( [USER_ID] => 123456 ), ) Где ключи элементов массива первого уровня это и есть куки PHPSESSID пользователей. Но может быть и не так, может и по файлам для каждого ключа сессии. В общем не так важно, главное то, что оно хранится. Этот объект хранения появляется после вызова функции session_start() Т.е. не вызываем - не появляется. Номинальный стандарт времени старта сессии это 0.02 секунды. Но на многих, очень многих серверах моих знакомых, это примерно 0.2. Прибавим к этому время обращения к NS серверу и загрузку статического контента страницы. И получаем 2-3 секунды. А это уже не очень круто. Мы ведь все видим, что некоторые сайты которые вы не посещали до этого быстро открываются, а некоторые нет. Всё зависет от 3 условий - скорость скрипта - нска - контент Когда вы провели большую работу, сжали там например css файлы, включили сжатие, оптимизировали запросы к бд и т.д. а страница всё равно грузиться долго, вы начинаете ломать голову, что не так?! А оказывается в боевом сервере с нормальной нагрузкой сессия может стартовать и 0.4! Так вот нам не нужны лишние 0.4, сессия - это только способ идентификации пользователя. Вы сами можете реализовать свой способ используя свои кастомные куки, вы можете хранить куки, да, например в базе, вы можете даже привязывать куку к IP адресу, юзер агенту и прочему, что сделает "сессию" более безопасной. Т.е. сопрут куку с MYSESSID, а использовать не смогут) Ну и третий мой аргумент в пользу кастомизации сессий это затраты сис. ресурсов на стандартные сессии, они большие (относительно), можно и меньше. Детально не буду рассматривать.
$salt = '0x'.md5($username.$pass); Раздражают ваши криворукие велосипеды. Прежде чем писать такое, почитайте мануал по md5(). Описание string md5 ( string str [, bool raw_output] ) Вычисляет MD5 хэш строки str используя алгоритм MD5 RSA Data Security, Inc. и возвращает этот хэш. Хэш представляет собой 32-значное шестнадцатеричное число. Если необязательный аргумент raw_output имеет значение TRUE, то возвращается бинарная строка md5($username.$pass, true) Кто-то все же умеет читать... прежде чем писать нравоучения публичную критику (или как там Оо) прочтите мануал про GPL v3
давай на выходных релиз напишем, не знаю пока, думается что-то поменялось
это бета, либо релиз но без комментов (зачем удалил не понятно)
странные дела, с процедурой робит, без - нет. здаётся мне надо дописать. дайте чтоль доступы тестовые
в регистре, ранее обсуждалось
Ну ты спрашивал как сделать регу, я сказал тебе как можно на юкозе сделать регистрацию, ведь кросс-доменно аяксово слать нельзя, поэтому предложил использовать скрытый фрейм, если капнуть глубже то можно и валидировать форму используя этот же фрейм, во всяком случае в мозиле.
Имена участников (разделяйте запятой).