24 Июнь, 2015

Bitrix - авторизация без пароля

В случае если есть доступ к файлам, но нет пользовательских реквизитов доступа можно решить проблему вот так:

<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");

global $USER;
$USER->Authorize(1);

Сохраняем скрипт с каким-нибудь трудночитаемым названием, например fjlkge.php и переходим по ссылке //sitename.com/fjlkge.php Все, вы залогинились как пользователь с id 1 (обычно это администратор). Не забудьте сразу же удалить скрипт после использования!

03 Апрель, 2015

Подменяем время на PHP

Возникают такие случаи когда во время разработки на PHP необходима возможность подмены времени. Можно конечно перевести часы в системе, но я бы так не рекомендовал делать ибо такое действие влечет за собой кучу проблем. А виртуальные сервера у некоторых хостеров могут и вовсе не грузиться после принудительной смены времени.

Так что самый безопасный способ это переопределение встроеных в PHP функций. Да, патчить и компилировать PHP мы не будем =)

Мы просто возьмем отсюда модуль PHP-TimeCop и установим его согласно приложенной инструкции.

После всех этих манипуляций нам остается только вызвать в начале скрипта вот такую функцию

$mytime = time()-86400;

timecop_freeze($mytime);

Таким образом мы зафиксировали в скрипте время ровно на сутки назад. Для удобства небольшой скрипт с этими двумя строчками можно подключать ко всем скриптам через директиву auto_prepend_file в .htaccess

28 Август, 2014

Парсим URL средствами JS

Итак, самый простой способ, который гуляет по интернету это создание в DOM элемента a у которого js автоматически распознает части URl

Пример:

//Создаем элемент a
var parse = document.createElement('a');
//Присваиваем ему на URL
parse.href = "http://test.ru:81/super/long/path/?search=test#about";

var result = document.getElementById('result');

result.innerHTML = result.innerHTML + '<strong>test1</strong><br/><hr/><br/>';
result.innerHTML = result.innerHTML + parse.protocol + '<br/>'; // => "http:""
result.innerHTML = result.innerHTML + parse.hostname + '<br/>'; // => "test.ru"
result.innerHTML = result.innerHTML + parse.port + '<br/>';     // => "81"
result.innerHTML = result.innerHTML + parse.pathname + '<br/>'; // => "/super/long/path/"
result.innerHTML = result.innerHTML + parse.search + '<br/>';   // => "?search=test"
result.innerHTML = result.innerHTML + parse.hash + '<br/>';     // => "#about"
result.innerHTML = result.innerHTML + parse.host + '<br/>';     // => "test.ru:81"

parse.href = "http://test.ru/super/long/path/?search=test#about";

result.innerHTML = result.innerHTML + '<br/><br/><strong>test2</strong><br/><hr/><br/>';
result.innerHTML = result.innerHTML + parse.port;     // => ""
result.innerHTML = result.innerHTML + parse.host + '<br/>';     // => "test.ru"

Ссылка на живой пример

18 Август, 2014

Как включить комментарии Disqus в CMS Nibbleblog?

Все довольно просто:

  1. Регистрируемся на disqus.com и добавляем там новый сайт, получаем его адрес, к примеру - mrdeveloper.disqus.com
  2. Открываем файл config.bit у текущей используемой темы на сайте и в параметре disqus_account вписываем название полученное в пункте 1. В моем случае это mrdeveloper
  3. Открываем сайт и видим что на страницах теперь вместо стандартной панели комментариев подгружается Disqus!

Такой вариант точно прокатит со стандартными темами, в кастомных скорее всего придется что-то подкрутить.

20 Июнь, 2014

Не забывайте про лимит в 5Gb на файл в Селектел!

Второй раз неприятно наступаю на грабли в конфигурации lftp и selectel storage. А именно проблема в том что если файл резервной копии будет превышать объем в 5 гигабайт то он постоянно будет не докачиваться и удаляться про закачиванию этих несчастных 5 гигабайт, а послушный lftp начнет закачку файла заново. Итак за 10 дней сервер потратил 20Тб(!) исходящего трафика. Хорошо хоть на селектеле входящий трафик бесплатен =)

Как можно от этого защититься?

Добавляем в конфиг резервного копирования параметр

--size-range=100-5100000000

Который означает что закачиваться будут только файлы объемом от 100 байт до ~4.9 гигабайт

Новые записи →Home← Старые записи