Подключал сайт к эквайрингу Сбербанка. Всё как по писаному, кроме последнего этапа: возврат пользователя из банка в магазин. Не происходит. Пустой экран. Уже написал письмо в саппорт, но что-то дёрнуло. Чисто для эксперимента заменил в адресе возврата блаблабла.рф на xn--blahblahblah.xn--p1ai
Ну ёёёлы-палы :-)
воскресенье, апреля 06, 2014
воскресенье, марта 30, 2014
Что, выпивая пачку чаю,...
Побочно запустил людям чайный сайтик.
Побочные проектики вообще странная вещь. Вылупляются себе и вылупляются. А основные - вечно без пяти секунд почти вот-вот уже совсем немножко допилить.
В сайтике из примечательного, пожалуй, ценники. Каждый товар имеет стандартные фасовки и возможность заказать произвольную. Цена пересчитывается на лету с учётом скидок и - тадаааааам! - сортности чая, каковая сортность у каждой позиции может разбрасываться от 1 до 6. Это оказалось немного хлопотно.
Побочные проектики вообще странная вещь. Вылупляются себе и вылупляются. А основные - вечно без пяти секунд почти вот-вот уже совсем немножко допилить.
В сайтике из примечательного, пожалуй, ценники. Каждый товар имеет стандартные фасовки и возможность заказать произвольную. Цена пересчитывается на лету с учётом скидок и - тадаааааам! - сортности чая, каковая сортность у каждой позиции может разбрасываться от 1 до 6. Это оказалось немного хлопотно.
понедельник, марта 24, 2014
DLE: я упал об стол
Есть такой чудо-движок невероятной уродливости.
Тем не менее, иногда приходится по мелочи подшаманивать сайты, имевшие несчастье на нём быть сделанными.
Сегодня надо было в некоем модуле получить категорию, куда относится статья.
Оказалось, что статья отнесена в 2 категории. Но системная переменная, хранящая категорию, скалярная.
Полез посмотреть таблицы напрямую.
Думаю, в таком случае там есть таблица категорий, таблица статей и таблица привязки второго к первому.
Уже тип поля category в dle_post (VARCHAR(200)) внушил худшие опасения.
Поковырял данные: так и есть. Номера категорий хранятся в записи статьи в виде текста, через запятую. Соответственно, выборка статей по категории происходит поиском подстроки.
*HEADSHOT.JPG*
Тем не менее, иногда приходится по мелочи подшаманивать сайты, имевшие несчастье на нём быть сделанными.
Сегодня надо было в некоем модуле получить категорию, куда относится статья.
Оказалось, что статья отнесена в 2 категории. Но системная переменная, хранящая категорию, скалярная.
Полез посмотреть таблицы напрямую.
Думаю, в таком случае там есть таблица категорий, таблица статей и таблица привязки второго к первому.
Уже тип поля category в dle_post (VARCHAR(200)) внушил худшие опасения.
Поковырял данные: так и есть. Номера категорий хранятся в записи статьи в виде текста, через запятую. Соответственно, выборка статей по категории происходит поиском подстроки.
*HEADSHOT.JPG*
среда, февраля 12, 2014
Сказ о том, как платёжная система с хостингом не подружилась
Злободневное, и может сэкономить кому-то время и мозг.
Подключал платёжную систему PayAnyWay (Монета.Ру) к сайту на Фабрике Хостинга (hostfabrica.ru). Всё нормально, но не доставляется техническое уведомление о прохождении платежа. Оно происходит невидимо для пользователя. Пользователь получает своё спасибо, деньги поступают, но на технический е-мейл начинают десятками идти сообщения от Монеты.Ру о невозможности передать уведомление.
Техподдержка Монеты.Ру поясняет, что их сервер по адресу Pay URL получает 403.
Делаю запрос из браузера руками: всё работает.
Техподдержка Фабрики Хостинга предполагает, что Монета.Ру не передаёт user-agent, и такие запросы получают 403.
Монета.Ру отвечает, что user-agent передаётся.
Круг замкнулся, мои возможности были исчерпаны.
Можно было попробовать ввести их в диалог друг с другом, но - время. Поэтому просто перевёл сайт на другую площадку (hostline.ru). Всё работает.
Итоги:
1) если непонятно не работает уведомление на Pay URL от Монеты.Ру, причина может быть в блокировании их робота хостером.
2) до решения этой проблемы сайты с подключенной Монетой.Ру не будут полноценно работать на Фабрике Хостинга. Вряд ли их конфигурация в этом уникальна. То есть нестыковка может происходить и на других площадках.
Подключал платёжную систему PayAnyWay (Монета.Ру) к сайту на Фабрике Хостинга (hostfabrica.ru). Всё нормально, но не доставляется техническое уведомление о прохождении платежа. Оно происходит невидимо для пользователя. Пользователь получает своё спасибо, деньги поступают, но на технический е-мейл начинают десятками идти сообщения от Монеты.Ру о невозможности передать уведомление.
Техподдержка Монеты.Ру поясняет, что их сервер по адресу Pay URL получает 403.
Делаю запрос из браузера руками: всё работает.
Техподдержка Фабрики Хостинга предполагает, что Монета.Ру не передаёт user-agent, и такие запросы получают 403.
Монета.Ру отвечает, что user-agent передаётся.
Круг замкнулся, мои возможности были исчерпаны.
Можно было попробовать ввести их в диалог друг с другом, но - время. Поэтому просто перевёл сайт на другую площадку (hostline.ru). Всё работает.
Итоги:
1) если непонятно не работает уведомление на Pay URL от Монеты.Ру, причина может быть в блокировании их робота хостером.
2) до решения этой проблемы сайты с подключенной Монетой.Ру не будут полноценно работать на Фабрике Хостинга. Вряд ли их конфигурация в этом уникальна. То есть нестыковка может происходить и на других площадках.
понедельник, января 20, 2014
Разделение сиамских близнецов с помощью .htaccess
Вот ещё было: делал сайт (по субподряду, поэтому - без ссылки). У сайта, как водится, есть нормальное доменное имя и техническое. По недогляду СЕОшников подрядчика технический домен утёк в Гуглояндексы и стал выдаваться лучше нормального.
Правило эксплуатирует особенность настройки конкретного хостера: при обращении на нормальный домен X-Forwarded-For содержит, как и положено, айпи клиента, а при обращении на технический - айпи прокси, адрес клиента указывается отдельно в X-Real-IP.
Заодно это постфактум объяснило, почему злостно глючил логин в админку сайта при входе по техническому домену: в браузер приходили куки для неправильного домена.
Написал в .htaccess правило переадресации: если домен не такой-то, ответить 301 на домен такой-то с тем же запросом. Но оно не заработало.
Почитав phpinfo(), увидел, что конкретный хостинг-провайдер обслуживает оба домена через прокси, перезаписывающий заголовки. И все запросы на сайт приходят с правильным доменом, несмотря на то, что клиент работает с неправильным.
После минуты паники ещё раз просмотрел переменные окружения Апача в том и ином случае и переписал правило:
RewriteCond %{HTTP:X-FORWARDED-FOR} ^ай.пи.прокси.провайдера [NC]
RewriteRule ^(.*)$ http://правильный.сайт/$1 [L,R=301]
Заодно это постфактум объяснило, почему злостно глючил логин в админку сайта при входе по техническому домену: в браузер приходили куки для неправильного домена.
Гугл видит, Гугл знает
Для одного проекта делалось получение геокоординат клиента.
Предполагалось, что клиент мобильный. Для проверки зашёл туда с десктопа. К моему удивлению, моё положение было определено достаточно верно: ошибка составила метров 50, но здание можно идентифицировать однозначно.
Не ожидал этого для компьютера, который невозможно триангулировать по сотовым вышкам. Стал читать, в чём фокус.
Браузер (конкретно - Хром), похоже, может получить от ОС список видимых Wi-Fi сетей (не нужно быть ассоциированным для этого) и уровень их сигналов.
Для проверки выключил на компьютере Wi-Fi совсем. Моментально "переместился" в другой район города.
ОК, но как Гугл знает, где находится конкретная AP, положение которой никогда ему не сообщалось?
Оказывается, сообщалось :-) Если верить людям, Андроид-устройства с включенным позиционированием сообщают Гуглу видимые им AP, их SSID, MAC и уровень сигнала. Информация накапливается, дальше всё просто.
Поскольку я сам пару раз включал GPS в офисе, очень вероятно, что и я приложил руку к чуду своего обнаружения :-)
В моей работе такая любознательность Гугла скорее большой плюс. Впрочем, в чьей-нибудь ещё работе тоже :-) В конце концов, трафик на Гугл, как и любой другой, не идёт бесконтрольно.
Думаю, системой позиционирования пациентов по Wi-Fi сетям не только они располагают, так-та.
Предполагалось, что клиент мобильный. Для проверки зашёл туда с десктопа. К моему удивлению, моё положение было определено достаточно верно: ошибка составила метров 50, но здание можно идентифицировать однозначно.
Не ожидал этого для компьютера, который невозможно триангулировать по сотовым вышкам. Стал читать, в чём фокус.
Браузер (конкретно - Хром), похоже, может получить от ОС список видимых Wi-Fi сетей (не нужно быть ассоциированным для этого) и уровень их сигналов.
Для проверки выключил на компьютере Wi-Fi совсем. Моментально "переместился" в другой район города.
ОК, но как Гугл знает, где находится конкретная AP, положение которой никогда ему не сообщалось?
Оказывается, сообщалось :-) Если верить людям, Андроид-устройства с включенным позиционированием сообщают Гуглу видимые им AP, их SSID, MAC и уровень сигнала. Информация накапливается, дальше всё просто.
Поскольку я сам пару раз включал GPS в офисе, очень вероятно, что и я приложил руку к чуду своего обнаружения :-)
В моей работе такая любознательность Гугла скорее большой плюс. Впрочем, в чьей-нибудь ещё работе тоже :-) В конце концов, трафик на Гугл, как и любой другой, не идёт бесконтрольно.
Думаю, системой позиционирования пациентов по Wi-Fi сетям не только они располагают, так-та.
Подписаться на:
Сообщения (Atom)