понедельник, 24 июня 2013 г.

The XSS Auditor refused to execute a script in

Обнаружил на сайте баг. При сохранении отваливается css и в консоль выдает примерно следующее:

The XSS Auditor refused to execute a script in 'http://site.com' because its source code was found within the request. The auditor was enabled as the server sent neither an 'X-XSS-Protection' nor 'Content-Security-Policy' header.

Как я понял, это новая "фича" хрома. Надеюсь, со временем доведут до ума.
Лечится отправкой с сервера заголовка X-XSS-Protection: 0

Пример:

header('X-XSS-Protection: 0');

воскресенье, 16 июня 2013 г.

yii Изменить папку assets

Для смены папки assets на что то другое в main.php надо добавить:

'components'=>array(
                'assetManager'=>array(
                          'basePath'=>'newPath',
                    ),
...

суббота, 15 июня 2013 г.

windows выполение в фоновом режиме

Для того что бы запустить приложение в фоновом режиме можно использовать hstart.
Штука удобная и интуитивно понятная, я запускал из консоли, но есть и графическая версия:

hstart /NOCONSOLE "batch_file_1.bat"

Или в моем случае, это был php скрипт

hstart /NOCONSOLE "php C:\script.php"

Есть хороший readme и примеры.

вторник, 11 июня 2013 г.

mysql Сбросить primary key

Для того что бы первичный ключ с автоинкрементом снова начал присваивать значения начиная с 1 нужно выполнить запрос

ALTER TABLE `ourTable` AUTO_INCREMENT = 1

воскресенье, 9 июня 2013 г.

Fatal error: Class 'Swift_DependencyContainer' not found

Если возникает такая ошибка, значит надо вместо swift_init.php подключать swift_required.php

Не правильно:

require_once 'swift/swift_init.php';

Правильно:

require_once 'swift/swift_required.php';

суббота, 8 июня 2013 г.

Хороший mysql клиент

Хороший на мой взгляд клиент для mysql это Valentina Studio. Пользуюсь им под виндой уже около месяца - двух, все нравится. Скачать можно на офф сайте. Иногда он даже обновляется =)

Окно выбора подключения


linux Как запустить php скрипт, что бы он выполнялся после закрытия консоли

Если понадобилось оставить скрипт работающим надолго, а сидеть с открытой консолью/работающим браузером не хочется, то всегда выручит nohup. В консоли надо набрать:

nohup php test.php &

И смело закрывать консоль. Скрипт не закончит работу, пока не сделает импорт/экспорт/спарсит все интернеты =)

пятница, 7 июня 2013 г.

windows7 Как использовать RDP client

В 7 винде для использования нативного клиента надо сначала включить Remote Desktop Protocol:

1) пуск - компьютер - ПКМ - свойства



2) Настройка удалённого доступа

Поставить галочку на против "Разрешить подключения удаленного помощника к этому компьютеру"

И на против "Разрешать подключения от компьютеров с любой версией удаленного рабочего стола(опаснее)"




Теперь надо запустить нативный клиент для подключения:

1) Пуск - Программы - стандартные - Подключение к удалённому рабочему столу

Во всплывшем окне надо ввести ip компьютера, к которому надо подключится


2) Нажимаем "Подключить"
3) Вводим логин и пароль

Готово.

qutim Не показывает контакты

После установка свежей убунты (13.04) установил из репозитория qutim, который отказался показывать мне контакты. Дело оказалось в том, что у меня был кутим 0.2. Получить 0.3 можно так:


sudo add-apt-repository ppa:qutim/qutim

sudo apt-get update

sudo apt-get install qutim

четверг, 6 июня 2013 г.

php Вопросики вместо русских символов

Если случилась такая проблема, то сразу после подключения надо указать кодировку для базы данных:

<?php

mysql_query('SET NAMES utf8');

?>

php Сделать первые буквы слов заглавными

Для того, что бы сделать все первые буквы слов заглавными, надо применить функцию ucwords(), или ucfirst() если нужно сделать заглавной только первую букву в строке:

<?php

echo ucfirst($str); // первая буква строки в верхнем регистре

echo ucwords($str); // все первые буквы слов в верхнем регистре

?>


Если ucwords, или ucfirst не работают, но вы всё сделали правильно, то скорее всего дело в том, что вы используете кодировку utf-8.

Для того что бы перевести все первые буквы слов в верхний регистр в кодировке utf-8 надо использовать mb_convert_case():

<?php

echo mb_convert_case($row->name, MB_CASE_TITLE, 'utf-8'); // аналог ucwords

?>


У этого подхода есть небольшой минус: mb_convert_case($row->name, MB_CASE_TITLE, 'utf-8') сначала переводит всю строку в нижний регистр, и только потом первые буквы слов в верхний.




Для замены ucfirst можно использовать например такой велосипед:

<?php

echo mb_strtoupper(mb_substr($string, 0, 1, 'utf-8'), 'utf-8') . mb_substr($string, 1, mb_strlen($string), 'utf-8');

?>

вторник, 4 июня 2013 г.

php intval для больших чисел

Если вам надо проверить, к примеру, 12 значное число, то intval уже не подойдет

Для этого есть floatval()