Pull to refresh
0
0
Роман Маркин @Gram

User

Send message

Как использовать HTTP заголовки для предупреждения уязвимостей

Reading time7 min
Views121K


Знаете ли вы, что в большинстве случаев уязвимость системы безопасности можно устранить добавив необходимые заголовки ответа?

Безопасность не менее важна, чем содержание или поисковая оптимизация сайта. Тысячи сайтов взламываются из-за ошибок в конфигурации или недостаточной защиты. Если вы владелец сайта или специалист по защите информации, и интересуетесь защитой сайта от кликджекинга, внедрения кода, уязвимостей MIME типов, XSS-атак и т.д., то данная инструкция будет вам полезна.

В этой статье я расскажу о разных заголовках HTTP для использования с различными веб-серверами, сетевой периферией или сетями доставки контента, чтобы повысить уровень защищенности сайта.
Читать дальше →
Total votes 39: ↑34 and ↓5+29
Comments28

Генерируем красивые картинки для социальных сетей

Reading time7 min
Views16K


Код для генерирования именно этого изображения
$generator = new imgGenerator();
$textGenerator=new imgTextGenerator();
$textGeneratorTop=new imgTextGenerator();

$label=$textGeneratorTop
	->seTextShadow("#000000", 75, 1, 2, 2)
	->setText("Test Site","#ffffff",imgGenerator::position_center_top,"1/12",0 )
	->setBackground("#000000",'3%')
	->setFont($_SERVER["DOCUMENT_ROOT"]."/upload/fonts/fonts2_7/hinted-PTF55F.ttf");

$text=$textGenerator
	->seTextShadow("#000000", 75, 1, 2, 2)
	->setText("Морковь как двигатель прогресса человечества","#ffffff",imgGenerator::position_center_center,"1/7",array(0,'5%',0,'5%'))
	->setFont($_SERVER["DOCUMENT_ROOT"]."/upload/fonts/fonts2_7/hinted-PTF55F.ttf");

$generator
	->addText($text)
	->addText($label)
	->fromImg($_SERVER["DOCUMENT_ROOT"] . "/upload/dynamic/2016-08/15/carrot-big.jpg")
	->resizeFor("autodetect")
	->addOverlay(0.5,"#000000")
	->show();

Глядя на красивые картинки для соц. сетей, которые в последнее генерируют многие новостные (и не только) сайты — захотелось написать свой генератор.

Примеры картинок

Скрипт работает на PHP, с использованием модуля Imagick. Писать это на GD2 что-то я не решился.

Алгоритм работы предполагался такой:

  • Берем за основу картинку или цвет
  • Уменьшаем до нужного размера
  • Накладываем сверху полупрозрачный фон
  • Устанавливаем логотип
  • Добавляем надпись
  • Кешируем результат

Читать дальше →
Total votes 33: ↑23 and ↓10+13
Comments11

Внутренний портал компании: вчера, сегодня, завтра

Reading time10 min
Views77K


В конце июня в рамках конференции Best Intranet Russia 2014 прошла 3-я выставка интранет-порталов INTRANET BENCHMARKING, в которой принимал участие внутренний сайт Mail.Ru Group. По итогам конференции хотелось бы сформулировать основные тенденции в развитии корпоративных сайтов, описать их основные черты и рассказать про наш портал. В начале статьи представлено краткое описание выставки, а оставшаяся часть статьи посвящена описанию современного интранет-портала с примерами из интранета Mail.Ru Group.
Читать дальше →
Total votes 97: ↑81 and ↓16+65
Comments21

Делать ли мобильную версию? 5 распространенных проблем, которые решает адаптивная верстка. Опыт Яндекса

Reading time9 min
Views113K

C 2007 года очень быстро растёт количество используемых в мире смартфонов. В числе прочих причин резкого скачка популярности несколько лет назад покупателей привлекла способность этих устройств отображать сайты так, как они выглядели на экранах компьютеров. Но, купив смартфон и начав им пользоваться, люди отмечали, что для чтения отдельных блоков текста на относительно небольшом экране приходилось постоянно масштабировать страницу. Плюс к тому, многие элементы управления сайтов оказалось неудобно использовать. Это происходило потому, что страницы не были рассчитаны на управление с помощью прикосновений к экрану и зачастую требовали компьютерную мышь или другой манипулятор. Для решения этих проблем начали появляться отдельные версии сайтов, предназначенные исключительно для устройств с маленьким экраном. При этом пользователям оказалось не нужно знать адреса мобильных сайтов. Вместо этого сервер считывает информацию об устройстве из обращённого к нему запроса и определяет, какую версию предпочтительнее отдать посетителю.


Сайт smashingmagazine.com на различных размерах экранов


Вскоре многим стало понятно, что разработка отдельной мобильной версии — это долго и дорого в поддержке. Кроме того, это противоречит идеологии веба, который подразумевает, что размеченный документ универсален и может быть прочитан практически на любом устройстве вывода. Для решения возникшего противоречия в CSS был добавлен стандарт Media Queries. Появились новые возможности по определению особенностей устройства, в частности появилась возможность применять различное оформление страницы для произвольных размеров окна.

Читать дальше →
Total votes 103: ↑99 and ↓4+95
Comments102

51 инструмент для APM и мониторинга серверов

Reading time10 min
Views78K


После создания веб- или мобильного приложения начинается не менее интересный этап: нужно арендовать или приобрести серверы, развернуть на них бэкенд и наблюдать, как твой продукт пользуется бешеной популярностью у пользователей. А чтобы всё шло гладко, необходимо мониторить работу серверов и приложений, контролируя их производительность и устраняя намёки на проблемы. А чтобы не терять время на поиски подходящих инструментов для мониторинга и управления, предлагаем вам — сисадминам и разработчикам — воспользоваться этой подборкой.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments70

Mandrill всё? Как я искал замену и нашел 2 прекрасные альтернативы Мандрилу

Reading time4 min
Views59K
TL;DR: Mandrill захотел поднять цены в 4 раза. Они нашли способ через интеграцию с MailChimp.

В феврале этого года, как гром среди ясного неба, пришло письмо от Mandrill о том, что с 27го апреля он перестаёт существовать как независимый сервис и теперь чтобы им пользоваться нужно будет интегрировать свой Mandrill аккаунт в платный аккаунт MailChimp. Именно платный, пусть даже и самый дешевый. Вот как выглядит ценник MailChimp:



Напомню, что раньше Mandrill был бесплатным для небольших проектов до 12.000 писем в месяц (около 400 в день). Сейчас же как минимум $20 + сколько напосылаешь писем.
Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments69

Сравнение онлайн-консультантов для сайта: муки выбора

Reading time5 min
Views30K
Сразу предупрежу, что статья не носит рекламный характер. Написана она исключительно с целью поделиться своим опытом в подборе качественного инструмента для онлайн-консультирования, так как сами, пока искали, не могли нигде найти подходящий материал с подробным анализом.

Когда мы решили завести на своих сайтах онлайн-чат, мы не очень ясно понимали, какой у него должен быть функционал. Единственное, что мы сразу четко понимали: это не будет чатик, куда любой случайный посетитель сможет написать «эй, есть кто живой?». И не такой, где отвечать на сообщения посетителей будет девочка-консультант, толком не разбирающаяся в технических особенностях нашего продукта.


Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments69

Как удалить фейковый трафик с вашего сайта

Reading time11 min
Views38K
Очень часто мы отмечаем всплеск трафика на сайте, анализируя данные, собранные Google Analytics. Это воспринимается как интерес к ресурсу. И, разумеется, такой рост посещаемости не может не радовать.  

Но это не всегда повод для радости. Позже мы обнаруживаем, что большая часть этого реферального трафика была отправлена от спамеров. Именно спам стал большой проблемой в последнее время.

Реферальный спам происходит, когда ваш сайт получает поддельные направления трафика от спам-ботов. Эта подделка трафика и записывается Google Analytics. Если вы замечаете в Аналитике трафик, полученный из спам источников, вам необходимо выполнить определенные действия, чтобы устранить эти данные из статистики. 

image

Что такое бот?


Ботами принято называть программы, задача которых – выполнение повторяющихся задач с  максимальной скоростью и степенью точности.

Традиционный вариант использования ботов — веб-индексация содержимого интернет-ресурсов, регулярно осуществляемая поисковиками. Но боты также могут использоваться и в злонамеренных целях. Например, для:
  • совершения мошенничества путем кликов;
  • аккумуляции адресов e-mail;
  • передачи содержания веб-сайтов;
  • распространения вредоносного программного обеспечения;
  • искусственного завышения трафика ресурса.

Анализируя задачи, для которых используются боты, можно разделить их на безопасные и опасные.
Читать дальше
Total votes 12: ↑11 and ↓1+10
Comments16

Сетки для адаптивного дизайна

Reading time7 min
Views212K


Мы собрали наиболее частые темы, связанные с сеткой в адаптивном дизайне, чтобы «повысить резкость» термина как такового и систематизировать практические знания: как настраивать сетку в дизайн-макете, по каким параметрам делать расчет, какие особенности адаптивной среды учитывать и на какие детали обращать внимание.
Читать дальше
Total votes 22: ↑22 and ↓0+22
Comments3

Виталий Фридман на UXPeople: «Responsive Design – это не небольшая рихтовка, он требует изменить всё»

Reading time6 min
Views14K
Одно из самых ярких выступлений прошлой UXPeople в виде текста.



Я практически никогда не выступаю на русском, и мне это очень непривычно – но почему бы и нет? Cегодня я бы хотел поговорить о Responsive Design.
Читать дальше →
Total votes 21: ↑17 and ↓4+13
Comments9

Тест бесплатных программ для восстановления данных

Reading time5 min
Views553K
Приветствую всех Хабровчан!

Представьте ситуацию, что в один прекрасный момент ваш жесткий диск/флешка/карта памяти перестает нормально работать, и доступ к данным привычным образом уже не получить. Для тех, кто не делает бэкапы, наступает непростое нервное время. В панике народ начинает искать программы для восстановления данных и находит их. Большинство из них бесплатны, что не может не радовать человека в наше непростое время. Но все ли бесплатные программы так эффективно восстанавливают данные? Мы провели пару тестов нескольких популярных программ, и вот что у нас получилось.

image

Внимание! Много скриншотов.
Читать дальше →
Total votes 44: ↑43 and ↓1+42
Comments51

Верстка email рассылок от А до Я для чайников

Reading time9 min
Views408K
Уже 3 с лишним года занимаюсь дизайном и версткой почтовых рассылок, которые ориентированы на англоязычных пользователей. За время работы перелопатили огромную кучу информации, перепробовали много вариантов верстки, набили достаточное количество шишек. Были найдены и исправлены типичные баги, которые в той или иной мере повторялись во всех почтовых клиентах. Также нашлись проблемы с некоторыми CSS свойствами — различные почтовые клиенты интерпретировали их по разному. Каждое письмо тестировалось на самых популярных почтовых клиентах: Gmail, Outlook, Yahoo, Android, iOS, MozillaThunderbird, Microsoft Outlook, The Bat. Рассылки ходят на сотни миллионов пользователей и приносят очень хорошие результаты. Итак, приступим к изучению.
Читать дальше →
Total votes 66: ↑62 and ↓4+58
Comments35

Forbes составил рейтинг 20 самых дорогих компаний Рунета

Reading time2 min
Views9.5K
В 2014 году, по сообщению Forbes, рекордные на рынке сделки впервые не были связаны с иностранными инвесторами. Mail.ru консолидировала 48% «ВКонтакте» за почти $1,5 млрд и, как выяснилось сегодня, собиралась продать «Эльбрус Капиталу» HR-ресурс Headhunter за $208 млн — сделка остановилась на последних этапах. «Яндекс» же приобрел Auto.ru за $175 млн.

Эти три сделки отражают основной тренд последних полутора лет в Рунете: смена иностранных инвесторов российским, избавление от непрофильных активов, консолидация.

При этом, иностранные фонды постепенно снижают активность в России: люксембургский Mangrove Capital Partners (KupiVip и Oktogo) приостановил деятельность в России, американский Tiger Global сократил долю в Wikimart, где часть акций ушла группе отечественных инвесторов возглавляемых Анатолием Гончаровым — председателем совета директоров Финапромбанка. Из Ostrovok.ru вышли General Catalyst и Accel Partners. Дело не только в политике — за последний год портфели венчурных фондов обесценились в 1,5-2 раза.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments11

Прозрачная аутентификация в Redmine

Reading time3 min
Views24K
Сегодняшний пост будет про удобство использования Redmine в корпоративной среде, а если быть точнее, про прозрачную авторизацию пользователей Redmine в домене Microsoft Active Directory.

Мы используем Redmine как единую информационную среду, в которой работают все сотрудники компании. Вводить один и тот же пароль дважды — это всегда неудобно. Поэтому, мы настроили прозрачную аутентификацию через домен.



Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments9

Формы в интернет-магазинах проектируют следователи угро

Reading time3 min
Views25K
Каждую неделю я заказываю в интернете. Стиральные машинки, книги, посуду — большая часть моего дома куплена в интернете. А приехало всё это с курьерами, которые ругались на отсутствие сдачи, попадали не по адресу и по сто раз уточняли, как доехать.

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

Как-то в очередной раз решила заказать блендер.
Выбирала его в пяти магазинах и записала по ходу свои впечатления.

Сразу скажу, что большую часть форм я не осилила.



Обычно магазину нужно имя, чтобы завести клиента в CRM. Здесь требуют и фамилию, и отчество. Отчество-то зачем? Они со мной собираются официально разговаривать?

Также мне кажется, что почтовый адрес «8 Марта, 1-12» точно потребует уточнения оператором. В Москве есть улица «8 Марта», «8 Марта 1-я» и «8 Марта 4-я». А еще «8 Марта» есть в поселке Внуково, который тоже в Москве.

В чем еще не правы интернет-магазины
Total votes 36: ↑24 and ↓12+12
Comments54

Повышаем конверсию Landing Page

Reading time5 min
Views35K
Наверняка вы уже неоднократно сталкивались с множеством лендингов и устали от их агрессивного поведения. Не успев прочитать заголовок с вас немедленно начинают требовать контакты. И если изначально такая техника еще давала более менее хорошие результаты, то с каждым днем она все больше становиться неэффективной.


Визуализация типичной агрессии со стороны большинства «лендинг пейджей»
Читать дальше →
Total votes 49: ↑32 and ↓17+15
Comments32

Восстанавливаем доступ к Google Analytics за 4 простых шага

Reading time3 min
Views19K
Так вышло, что на одном из разработанных нами сайтов был установлен скрипт для сбора статистики от Google Analytics. Однако кто его регистрировал и кому принадлежит учетная запись мы не знали.

Специалист по веб-аналитике посоветовал создать новый идентификатор отслеживания, но мне данный подход не понравился – потерять всю статистику с дня запуска продукта казалось непривлекательным. Я выбрал другой путь.

Если вам неизвестно, какому аккаунту принадлежит код Google Analytics на вашем сайте, если кто-то из разработчиков не дает доступа к аналитике или вы потеряли доступ к почтовому ящику, на который настроена аналитика, прошу под кат.
Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments7

Google будет помечать мобильные сайты в результатах поиска

Reading time2 min
Views61K
Уровень подготовки веб-мастера: любой

Наверняка многим из вас случалось переходить из результатов мобильного поиска Google на неоптимизированные для просмотра на смартфонах сайты. Страницы с крошечными ссылками и трудно читаемым текстом, которые вдобавок не умещаются на экране устройства, производят неблагоприятное впечатление.

Чтобы предупредить возможные неудобства пользователей мобильных устройств при просмотре сайтов, мы станем помечать в результатах нашего поиска страницы, оптимизированные для смартфонов и планшетов.
Отметка “Для мобильных” в результатах поиска
Отметка «Для мобильных» в результатах поиска
Для мобильных
Total votes 32: ↑27 and ↓5+22
Comments32

9 основных принципов отзывчивого веб-дизайна

Reading time4 min
Views130K

Отзывчивый дизайн — отличное решение проблемы корректного отображения сайта на разных экранах. Однако новичкам зачастую трудно понять основы, обучаясь только по книгам/статьям. С каждым днём появляется всё больше различных устройств, имеющих разные размеры экрана, поэтому создание дизайна в пикселях и только для настольных компьютеров/смартфонов остаётся в прошлом. Именно поэтому сейчас стоит изучить принципы отзывчивого дизайна — дизайна, совмещающего в себе адаптивность и резиновость (если вы ещё не знакомы с адаптивным дизайном, то эта статья будет хорошим выбором для начала изучения).
Читать дальше →
Total votes 69: ↑62 and ↓7+55
Comments17

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Registered
Activity