Кому под VPN дешевых атомов купить ?

Хостинг
  • Atom™ N2800 2 ядра / 1.86 GHz+ / 2 GB озу / 500 ГБ 1 шт / 100 Mbps = 250р/мес
  • Atom™ N2800 2 ядра / 1.86 GHz+ / 4 GB озу / 1 ТБ 1 шт / 100 Mbps = 500р/мес
  • Core™ i3 2 ядра / 3.4 GHz+ / 8 GB озу / 1 ТБ 1 шт / 100 Mbps = 750р/мес
  • Core™ i5 4 ядра / 2.8 GHz+ / 16 GB озу / 1 ТБ 1 шт / 100 Mbps = 1000р/мес
Пока есть возможность и пока в наличии.

Можно оплатить сразу на длительный срок.

ДЦ — OVH, Франция.

Установка reCAPTCHA на LiveStreet

LiveStreet


Итак, идем сюда и получаем ключи: Public Key и Private Key. Public будем вставлять в JavaScript и он может быть найден в исходном коде, Private нужно хранить в секрете и использовать только на стороне сервера.
Итак, приступаем к замене каптчи. Идем в /templates/skin/название-темы/actions/ActionRegistration и открываем файл index.tpl, в котором заменяем
<img src="{cfg name='path.root.engine_lib'}/external/kcaptcha/index.php?{$_sPhpSessionName}={$_sPhpSessionId}" onclick="this.src='{cfg name='path.root.engine_lib'}/external/kcaptcha/index.php?{$_sPhpSessionName}={$_sPhpSessionId}&n='+Math.random();" />
 
		<p><input type="text" name="captcha" value="" maxlength="3" class="input-100" /></p>

на
<script type="text/javascript" src="http://api.recaptcha.net/challenge?k=ЗДЕСЬ_ВАШ_Public_Key">
</script><noscript>Включите JavaScript или обновите ваш браузер!</noscript>

Только не забудьте заменить ЗДЕСЬ_ВАШ_Public_Key на полученный ранее Public Key. Перед этим еще можно добавить
<script type="text/javascript">
        var RecaptchaOptions = {
                custom_translations : {
                        instructions_visual : "Введите два слова:",
                        instructions_audio : "Введите что вы слышите",
                        play_again : "Включить заново",
                        cant_hear_this : "Скачать в формате MP3",
                        visual_challenge : "Визуальный режим",
                        audio_challenge : "Режим аудио",
                        refresh_btn : "Обновить",
                        help_btn : "Помощь",
                        incorrect_try_again : "Неверно. Пожалуйста, попробуйте еще раз.",
                },
                lang : 'ru', // Unavailable while writing this code (just for audio challenge)
                theme : 'white' // Make sure there is no trailing ',' at the end of the RecaptchaOptions dictionary
        };
		</script>

для русификации. Подробнее о кастомизации каптчи смотрите здесь.

Далее качаем саму библиотеку каптчи отсюда, распаковываем и кладем её содержимое в /engine/lib/external/recaptcha. Далее идем в /classes/actions, открываем файл ActionRegistration.class.php. Добавляем в начало файла подключение библиотеки
require_once ($_SERVER['DOCUMENT_ROOT']."/engine/lib/external/recaptcha/recaptchalib.php");

Затем удаляем или комментируем
if (!isset($_SESSION['captcha_keystring']) or $_SESSION['captcha_keystring']!=strtolower(getRequest('captcha'))) {
				$this->Message_AddError($this->Lang_Get('registration_captcha_error'),$this->Lang_Get('error'));
				$bError=true;

и добавляем
$resp = null;
if (array_key_exists('recaptcha_response_field',$_POST)){
$resp = recaptcha_check_answer ('ЗДЕСЬ_ВАШ_Private_Key',$_SERVER["REMOTE_ADDR"],$_POST["recaptcha_challenge_field"],$_POST["recaptcha_response_field"]);}
if ($resp==null or !$resp->is_valid){
$this->Message_AddError($this->Lang_Get('registration_captcha_error'),$this->Lang_Get('error'));
$bError=true;
}

Поддомены для юзеров и коллективных блогов под 0.5

LiveStreet
  • Все посты располагаются в субдоменах
  • Ссылки из заголовков топиков с главной страницы, rss, прямого эфира, топа, хороших и тд ведут на полный текст, располагающийся в субдомене
  • Ссылки из пользовательских профилей ведут на профили друзей, а не на их блоги, например, user.site.ru/profile;
  • Ссылки из списка блогов и из пользовательских профилей (состоит/администрирует) ведут на субдомены, являющимися коллективными блогами.
  • по адресу user.site.ru показываем публикации (блог пользователя), а не его профиль;
  • по адресу blog.site.ru показываем непосредственно сам коллективный блог;
  • ссылки на субдомены, для которых нет алиасов среди блогов и пользователей, переадресовываются на основной домен и по ним выводится ошибка 404;
  • обеспечение предупреждения коллизий путём проверки существования алиасов при регистрации пользователей и создания коллективных блогов.

Прежде всего нужно настроить DNS и параметры хостинга:
Для настройки DNS вам нужно привязать все поддомены к основному сайту. Для этого направьте wildcard домен вида *.site.ru на IP-адрес основного домена site.ru. Далее, вам нужно поставить обработку всех поддоменов вашего основного домена аккаунтом вашего основного домена. Например, если вы используете apache, то вам нужно прописать синоним для имени хоста директивой ServerAlias *.site.ru.

Если в plugins есть доступ на запись веб-серверу, то плагин сам создаст файл /plugins/subdomains/config.local.php и пропишет там ваш текущий домен в качестве базового. В этом случае больше никаких действий по установке предпринимать не требуется, ваш
плагин установлен. Если же после активации возникли проблемы с отображением сайта, то пропишите базовый домен вашего сайта в файле /plugins/subdomains/config.php таким образом: $config['main_domain'] = 'mysite.ru';
В настройках /plugins/subdomains/config/config.php есть список имён поддоменов $config['forbidden_subdomains'], которые запрещено регистрировать пользователям. Пользователи с такими логинами и блоги с такими URL регистрироваться не будут. Можете убрать или добавить необходимые домены по вашему желанию. Также при активации плагин проверяет наличие пользователей с логинами, совпадающими с URL блогов, и со списком запрещённых субдоменов. В том случае, если плагин таковые находит, он выводит соообщение об ошибке и запрещает активацию. Для продолжения активации вы можете либо переименовать пользователей/блоги, либо убрать соответствующие домены в списке запрещённых доменов.

Скачать: 2me.be/z/subdomains_2.0.tar.gz