Quick Translator не работает
Привет всем! Не работает всеми любимое расширение для Firefox? И скорее всего стоит версия 0.9? Сам вот мучался с такой проблемой, решение — скачать бета версию 1.0b2. ссылку даю официальную, чтобы не было подозрений.
Наслаждайтесь. Все работает, так как и работало. От себя добавлю, супер дополнение. Позволяет по быстрому перевести кусочек выделенного текста или одно слово. Понимает множество языков.
origin null is not allowed by access-control-allow-origin
Привет всем! У Вас бывают такие ошибки? Мне вот выползла в консоли ошибок браузера Iron (Chrome, Chromium). Если Вы при этом разрабатываете что то на JavaScript, то эта ошибка означает, что браузер ругается на то, что скрипт выполняется не на сервере, а где то локально. Т.е. допустим есть у нас JS скрипт и он передает какие либо данные PHP скрипту. А JS скрипт находится не на сервере (к примеру Денвере) а просто лежит где нибудь на диске. Залейте скрипт на сервер и будет Вам счастье!
Как ускорить Google Chrome или Chrome и жесткий диск
Здравствуйте! Сегодня в этой статье хочу рассказать об «ускорении» и без того быстрого браузера Google Chrome. Расскажу как я ускорял свой Chrome с помощью переноса файлов профиля на виртуальный диск, который создается в ОЗУ компьютера. Расскажу какие это ускорение дает результаты. Какие подводные камни существуют при этом. Стоит ли игра свеч и как вернуть все на сои места, если Вам что либо не понравилось…
More »
RegexBuddy помощник в составлении регулярных выражений
Привет! Сегодня расскажу о не заменимой програмке для отладки/составления регулярных preg match’евых выражений или как коротко их называют — regex выражений. Напишу отзыв так сказать.
Лично я долго пользовался полезной тулзой написанной на JavaScripte которая находилась на сайте pcre.ru. Ну, на тот момент шаблончики были маленькие и мне вполне хватало мощностей той онлайн утилитки. Но со временем шаблоны усложнились и появились более специфичные понятия обо всем этом и соответственно мне понадобился помощник по мощнее. Я убил почти весь вечер на поиски подходящей программы. Смотрел и такие же онлайн утилиты, как на pcre, и плагины для всем известного firefox и обычные десктоп версии, но ничего нужного мне не попадалось. Либо был скудный функционал, либо не хватало мощностей обрабатывать большие тексты и т.д. Но когда мой взор пал на RegexBuddy — мне она сразу понравилась. Особенно понравилось отображение всех знаков табуляции, таких как пробел, который отображается точкой, переход на новую строку и так далее. Как я считаю очень полезная штука. Например когда получаешь целый текст или html какой то страницы а он разделен на строки или используется табуляция и ты в составлении шаблона этого не указываешь, а потом долго недоумеваешь почему не работает «правильно» составленный шаблон (так было у меня). Также можно выбирать какой движок используется для интерпретации. Удобное выделение найденных шаблонов в тексте, желтым и голубым цветом. Работа с большими объемами текста. Сохранение шаблонов. В общем удобная, продуманная многофункциональная программа. Моя оценка твердые 5 баллов. Ну правда есть один минус — программа платная, но в нашей стране это не минус =) Есть еще одно НО, если Вы используете написанные шаблоны в PHP в функциях preg_match и им подобным иногда интерпретатор этих функций в PHP выдает ошибки о том, что некоторые символы шаблона не работают (точнее он их не понимает), эти символы необходимо предварить знаком бэкслеш «\». То есть в самой программе шаблон исправно функционирует без этого предварения, а в PHP выдает ошибки, поэтому будьте внимательны. Советую всем завести такую сову у себя на рабочей машинке =)
PHP авторизация vkontakte
Сегодня расскажу как авторизоваться вконтакте средствами PHP и CURL. Начну с теории. Моя цель была авторизоваться в мобильной версии vkontakte.ru, т.е. m.vkontakte.ru и выдернуть оттуда нужные мне данные. Объясню почему… Во первых мобильная версия сайта проще для парсинга, с мобильной версии легче получить какие либо данные. В принципе по функционалу, тоже самое. Единственный минус — доступны не все функции и фичи. Но мне фичи были не нужны, мне нужно было только страница друзей, которые находятся в онлайне.
Давно не вникал в методы авторизации этого контакта. Поюзав поиск не нашел нужного мне решения и решил приступить к написанию сам, к тому же найденные методы почему то на данный момент не работали, видимо вконтакте не редко меняет алгоритм авторизации. Разумеется я использовал связку PHP+CURL. Как без нее нынче =) Авторизация вконтакте нынче сложная, с двумя или даже тремя редиректами. Чтобы вникнуть во всю суть я использовал сниффер. Разобравшись что к чему получился вот такой код:
<?
$user_agent='Opera/9.80 (S60; SymbOS; Opera Mobi/499; U; ru) Presto/2.4.18 Version/10.00';//браузер
$login='';//мыло, логин или номер телефона
$password='';//пароль
if (!$ch=curl_init()) {//инициализируем curl, если не получается выдаем ошибку
echo 'error curl init!';
exit;
}
//отключаем проверку корневых сертификатов
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
//включаем показ заголовков в выводе
curl_setopt($ch, CURLOPT_HEADER, true);
//true т.к. мы будем отправлять post запрос
curl_setopt($ch, CURLOPT_POST, true);
//обманываем сайт, пусть думает что мы браузер
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
//ответ сервера будем записывать в переменную
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
//по редиректам будем переходить автоматически
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, 'https://login.vk.com');
//формируем запрос
$post=array(
'act' => 'login',
'pda' => '1',
'from_host' => 'm.vkontakte.ru',
//'ip_h' => '8f69244421976fb1a5',//для чего?
'from_protocol' => 'http',
'to' => '',
'email' => $login,
'pass' => $password
);
$post=http_build_query($post);
//отправляем post запрос
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
if (!$answer=curl_exec($ch)) {//если нет ответа - выдаем ошибку
echo 'error get answer!';
}
//вытаскиваем remixsid
$p='/remixsid=([a-z0-9]{10,70})/';//регулярка
preg_match($p, $answer, $tmp);
$remixsid=$tmp[1];
$cookie='remixsid='.$remixsid;//создаем печеньку =)
curl_setopt($ch, CURLOPT_POST, false);//переключаемся обратно к методу GET
curl_setopt($ch, CURLOPT_COOKIE, $cookie); //даем контакту скушать начу печеньку
curl_setopt($ch, CURLOPT_URL, 'http://m.vkontakte.ru/friendsonline');//страница друзей онлайн ->
//-> Вы можете вставить сюда ссылку на любую другую страницу контакта, которая нужна Вам
$answer=curl_exec($ch);//итоговый результат хранится в переменной $answer
echo $answer;//тут я вывожу содержимое этой переменной на экран, Вы же можете делать с ней все что хотите
//если что то не получается, можно раскомментировать две строки ниже и посмотреть ошибки
//echo "CURL error number: ".curl_errno($ch)."<br>";
//echo "CURL error: ".curl_error($ch)."<br>";
curl_close($ch);//закрываем curl сессию и очищаем память
?>
Вкратце постараюсь рассказать что да как. Скрипт использует библиотеку CURL. Написан на PHP. Старался писать с множеством комментариев чтобы было понятней тем, кто будет использовать данный скрипт, ну и писал не «загнуто» по «крутопрограммистски», а ля сокращение всего и вся в какие то специфические конструкции которые знают только те кто вкусил большую часть знаний. При написании столкнулся с такой проблемкой: при авторизации используется шифрованное соединение https, curl постоянно выдавал ошибку, ругаясь на непроверенный корневой сертификат, ошибка 60 (CURLE_SSL_CACERT), ясное дело у него не много этих корневых сертификатов… Я решил попросту отключить проверку сертификатов безопасности, для упрощения скрипта, врядли тут понадобится сия функция, можно было было импортировать сертификаты из браузера, положить их в отдельную папку и вручную потом их обновлять, но как я уже писал в данном случае не за чем. И еще не совсем понял для чего передается значение переменной ip_h? И без нее работает прекрасно, поэтому данную часть кода я закомментировал. (Если кто понял или знает, рад буду услышать). Самое ценное для нас — это значение переменной remixsid, которое выдается нам в куках. Я выдираю это значение из общей кучи заголовков (кстати в вывод включены и заголовки, но не думаю что это кому то не понравится) и потом подсовываю в печеньку, а затем скармливаю эту печеньку контакту =) Кстати зная значение данной переменной можно с легкостью сидеть с чьего либо аккаунта (и писать всякие гадости, читать сообщения), но не более. В общем если у Вас дорогие читатели будут какие либо вопросы по работе данного скрипта или советы по улучшению и т.д. прошу оставлять все это в комментариях, я с радостью отвечу. Буду рад, если кому то помог!
UPD: оказывается авторизовавшись в мобильной версии m.vkontakte.ru и зная remixsid, Вы можете спокойной получать необходимые данные и с полной версии vkontakte.ru, так что можно сказать скрипт универсален.
NotScript, установка, настройка

Hi, all! Понадобилось мне сегодня полазить в сети без надоедливых порой скриптов JavaScript. Я чаще всего использую для серфа Chrome. Пошел на официальную страничку дополнений искать плагин. По памяти использования Firefox помню, что там был такой замечательный и широко известный плагин «No Script». Для Chrom оказывается есть аналог и называется он «NotScript». Различий в названии не много ![]()
Установка как всегда обычная для всех плагинов, но есть одно НО: после установки необходимо установить так называемый пароль. Для этого идем по пути
c:\Users\имя_учетной_записи\AppData\Local\Google\Chrome\UserData\Default\Extensions\odjhifogjcknibkahlpidmdajjpkkcfn\версия_плагина\
где имя_учетной_записи — имя вашей учетки в системе, версия_плагина — ну что то вроде «0.9.6_0″. Ну и соответственно если у вас windows установлен не на диске C, тогда и буква в начале пути будет не С, а ваша.
Далее находите в директории файл с именем CHANGE__PASSWORD__HERE.js, открываете его в своем любимом текстовом редакторе, находите такую строчку:
const ENCRYPTION_PASSWORD = "";
и вставляете между двойными кавычками свой придуманный/сгенерированный пароль не менее 20 символов длиной! и не более 100, латинскими буквами с цифрами, к примеру «EbwpVL8eMqmRZni0QnFcS5BK0″ вполне подойдет.
Перезапускаем Chrome и наслаждаемся работой. Сразу подмечу, скрипт изначально работает в режиме «блокирую на всех сайтах кроме маленького списочка аля google.ru и т.д.», так что учтите!
VirtualBox — смена даты, изменение времени или отмена синхронизации с родительской машиной
Понадобилось мне срочно тут на виртуалке поменять дату на пару месяцев назад. Запустил, залез в настройки времени и даты, поменял, все бы хорошо, но заметил, что через несколько секунд дата опять установилась такой же как и была до изменения… Наверное синхронизация с интернетом творит такие вещи подумал я, отключил ее, поменял дату, опять тоже самое… Ну пошел спрашивать у великого Googl’а. Порывшись немного выяснил, что время и дата на виртуальной машине синхронизируется с родителем, т.е. с компьютером на котором установлена виртуальная машина.
В графических настройках изменить данную опцию не возможно (если возможно скажите
). Менять время на основной ОС мне совсем не хотелось, для такого рода экспериментов как раз и придуманы виртуальные машины.
У меня установлен VirtualBox и в данном случае виртуалка запускалась из под Windows 7. Так вот, для отмены синхронизации времени и даты виртуальной машины с операционной системой в которой она стоит необходимо следующее (для win 7):
- Вызываем терминал: WIN+R.
- Перемещаемся в папку где установлен VirtualBox: cd путь до папки с виртуалкой, например
cd с:\Program Files\Oracle\VirtualBox - И выполняем команду:
vboxmanage setextradata "virtualmachines name" “VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled” “1"
virtualmachines name — имя вашей виртуальной машины, например в данном случае

имя будет «win xp»
Вот и все, теперь можете изменять системную дату/время и она будет оставаться такой, какой Вы ее задали. Удачи!
Rus-To-Lat, установка, настройка

Hi, all! Сегодня расскажу про такой полезный плагинчик, как «rus to lat». Предназначен он для того, чтобы ссылки на ваши посты были «вкуснее» для поисковиков. Начну с того, что Вы вольны сами выбирать какой вид примут ваши ссылки на ваши посты. Эта настройка находится в «админка-параметры-постоянные ссылки». Но так принято, и многие пишут, что лучше всего поисковики кушают линки вида http://flash28.ru/dlya-novichkov/rus-to-lat-ustanovka-nastrojka.html (без плагина Rus-To-Lat и надстройки в постоянных ссылках, wordpress выдаст что то наподобии http://flash28.ru/для новичков/rus-to-lat-установка-настройка причем, учтите, что все русские символы переведутся в эквиваленты вида «%код») т.е. название сайта, потом идет название категории (рубрики) и потом название вашего поста и в конце .html. Для того чтобы получились приятные ссылки, Вы должны вставить в поле «Произвольно» следующий шаблон, который выглядит так: /%category%/%postname%.html, но учтите, должен стоять плагин .html on PAGES, который позволяет добавлять .html в конец урла. Найти его можно на официальном сайте wordpress’а по названию. Для ленивых
Установка, настройка, так же как и у Rus-To-Lat сложностью не отличается — скачал, либо через админку установил, либо распаковал и скинул в папку с плагинами ну и активировать для обоих случаев. Все, после таких манипуляций Вы получите приятные и легко читаемые ссылки на ваши посты как для пользователей, так и для поисковиков (по модному такие ссылки называются ЧПУ).
Важно! Плагин Rus-To-Lat должен быть установлен самого начала! Чтобы при вводе рубрик плагин уже перевел все русские название ярлыков в латиницу. Если же Вы установили плагин позже и видите при добавлении поста что ссылка получается с чем то похожим на «%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9″, то необходимо зайти в настройки рубрик «записи-рубрики», нажать на каждой рубрике «изменить» и удалить значение «Ярлык» и нажать кнопку «Обновить». Плагин Rus-To-Lat сам добавит ярлык на латинском.
Вот в принципе и все, будут вопросы, пишите в комменты!
SI CAPTCHA Anti Spam
Привет всем! Сегодня хочу рассказать о так сказать must have плагине для блога, как SI CAPTCHA anti-spam.
Вообще существует множество плагинов для анти спама. Сам я достаточно долгое время пользовался WP-NOTCaptcha, как пишут авторы данного плагина: «хорошого зарекомендовавшего себя и успевшего полюбиться русским блогерам». Там надо крутить картинки и выставить их так как говорит логика мозга, т.е. какого нибудь дракончика поставить не вверх ногами или боком, а на ноги. Но как то картинки не ассоциируются с серьезностью да и засиживаться на одном месте не хорошо, поэтому я решил испробовать что то новое. Мой выбор пал на SI CAPTCHA anti-spam. Данный плагин находится в верхах топа плагинов на официальном сайте вордпресса, м.б. поэтому я выбрал его, так сказать доверился мнению большинства.
В плагине нет никаких изысков. Все почти по стандарту,
буковки, поле для ввода, кнопка обновления (если данные буковки не понравились). Сложность установки данного плагина равна минимуму. Скчиваете файл плагина, а далее Вы вольны выбирать сами, загрузить его посредством FTP или же установить из админки, затем активировать и пользоваться, плагин достаточно красиво вставляет свой код в шаблоны и поле ввода и картинка находятся перед кнопкой отправить, и ничего не надо ручками менять в файлах темы, как в WP-NOTCaptcha. Помнится по стандарту плагин всегда вставлял свой код после кнопки отправки и приходилось ручками это переделывать.
Далее пойдем в настройки SI CAPTCHA Anti Spam (все что написано в настройках по русски я буду пропускать):
Enable CAPTCHA on the login form — включить капчу на вход в админ панель.
Enable CAPTCHA on the lost password form. — включить капчу на ввод пароля.
CAPTCHA input label position on the comment form: — полезная штучка, меняет положение капчи, про что я говорил чуть повыше.
Change the display order of the CAPTCHA input field on the comment form. — если капча отображается после кнопки отправки комментария.
Enable smaller size CAPTCHA image — изменяет размер отображаемой картинки капчи (стандартное, маленькое)
Use CAPTCHA without PHP session — работа капчи без сессии PHP, стоит юзать только если испытываете проблемы или не работает.
Disable CAPTCHA transparent text (only if captcha text is missing on the image, try this fix). — отключаем прозрачность текста. (Сам не понял смысла, но в объяснении написано, что если Ваш сервер PHP не совместим с функцией чего то там, то стоит юзать данную опцию)
Reset the CAPTCHA form styles to default. — если Вы что то натворили в стилях капчи, которые расположены ниже этой опции, Вы можете сбросить это все на дефолт, т.е. вернуть «все как было».
Стили описывать не буду, если пожелаете и это будет кому то нужно — займусь.
Change text labels: — изменяем стандартные подписи к полям.
Надежность данного плагина буду проверять по ходу дела и времени, но если взять за один из аргументов то, что плагин находится в топе,да еще и почти на самом вверху, можно считать этот аргумент весомым, довериться людям.
Вот в принципе и все, что хотел рассказать про данный плагин. Все вопросы в комменты