Pull to refresh
26
0
fStrange @fStrange

User

Send message

Поиск скрытых контактов регулярными выражениями

Reading time2 min
Views672
Существует множество материалов по регуляркам, множество готовых шаблонов, которые можно просто взять и использовать в валидаторах, поисках и т.д. Обычно это правильные регулярки, для валидации, например, введенного адреса электронной почты. Но мне недавно выпала задача по поиску «неправильных» данных (когда пользователи знают что нельзя писать свои контакты, но пишут извращенными способами), а конкретно email'ов и телефонов.

Задача стояла такая: "Не дать пользователям публиковать свои номера телефонов и адреса электронной почты на сайте".

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

Читать дальше →
Total votes 18: ↑9 and ↓90
Comments23

Сравнение «пастеорг» аля хостинг фрагментов кода

Reading time3 min
Views595
Начну немножко издалека. Расскажу, о чем будет идти речь.

Что такое пастеорга?


С некоторых пор (когда точно — не помню) я начал пользоваться некими сервисами, суть коих состоит во временном (или не очень) хостинге кусков кода. На практике это выглядит так: я хочу показать Васе Пупкину свою процедурку (совета спросить, али еще чего), в аське это сделать можно, но будет нечитаемо, да и править этот код в аське неудобно. Для того и сервисы — зашел, вставил код, получил ссылку, дал ссылку Васе. По ссылке будет код, подсвеченный причем. Удобно. Называются они неизвестно как, но есть тенденция (наподобии jeep и внедорожников, или pampers и подгузников :) называть их «пастеорги» (paste.org) или «пастебины» (paste.bin). Я буду называть пастеорги ибо привык.
Итак, не так давно я решил сделать свой такой сервис. Причин было несколько — это и наличие халявного хостинга с большим количеством места, и желание «прокачать» свои скиллы, и попытка сделать что-то более удобное, чем аналоги.

Началось с того, что я начал интересоваться у знакомых, какие минусы они видят у тех сервисов, которыми пользуются.
Читать дальше →
Total votes 17: ↑11 and ↓6+5
Comments48

С чем едят UserAgent

Reading time5 min
Views7.7K

msdn_ua

Для начала, конечно, стоило рассказать зачем едят этот самый «пользовательский агент». Ну или, вообще, начать с того что же это за агент такой. (Кстати, никто не знает какой-нибудь славянско-православный перевод этого термина?)Но рассчитывая, что хабра юзер либо уже знает и использует useragent либо ему это не нужно, я бы не хотел останавливаться на предисловиях. И так, мой совет — употребляйте useragent с регулярными выражениями!

Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments14

Как пользователи видят ваш сайт

Reading time1 min
Views2.7K
Google запустил новый инструмент — Browser Size.

В газетах самая важная статья размещается на главной странице. Если она действительно важна, то она размещается так, чтобы её можно было найти в верхней части первой страницы — нижняя часть обычно сложена и не всегда видна при первом взгляде на газету.

То же самое относится и к браузерам. Рассмотрим кнопку с просьбой о пожертвовании на некоммерческом сайте. Если она расположена далеко внизу на странице, её можно не увидеть при первом взгляде на эту страницу. Пользователь, конечно, может прокрутить вниз, но многие люди так не сделают и вообще пропустят кнопку. Например, на странице загрузки «Google Планета Земля» количество загрузок увеличилось на 10 %, когда кнопку «Скачать» перенесли на 100 пикселей вверх.
Читать дальше →
Total votes 98: ↑74 and ↓24+50
Comments57

OAuth: описание протокола простым и понятным языком

Reading time16 min
Views196K
OAuth — популярный протокол, который позволяет социальным сервисам интегрироваться между собой и дает безопасный способ обмена персональной информацией. OAuth может связать между собой 2 сервиса, каждый из которых имеет свою пользовательскую базу — именно их я в данном случае называю «социальными». Когда начинаешь работать с OAuth, первое ощущение — что протокол весьма сложен и избыточен. В этой статье я попытаюсь объяснить основы OAuth человеческим языком.

Пример кросс-авторизации


Вернемся в 2005-й год и представим, что мы пишем социальную сеть. В ней имеется форма импорта контактов из адресной книги GMail. Что нужно для доступа к контактам GMail? Конечно, логин и пароль от ящика. Но если мы попросим ввести их на нашем сайте, пользователь заподозрит неладное. Где гарантия, что мы не сохраняем на сервере введенные пароли? Поэтому нам хочется, чтобы пароль вводился только на сайте GMail, и после этого доступ к контактам через API GMail предоставлялся нашей социальной сети (возможно, на время).
Под катом - повествование с примерами
Total votes 134: ↑124 and ↓10+114
Comments34

Lenovo IdeaPad S10-2 за 275 долларов

Reading time1 min
Views1.4K
image

Устаревшей платформой на Intel Atom N270 сейчас невозможно никого удивить. В Lenovo не стали делать упор на то, что нетбук это модно, мобильно, прикольно, а просто установили рекомендованную цену на свой новый продукт в 275 долларов. Собственно, это единственная причина, по которой на модель можно обратить внимание.

Читать дальше →
Total votes 34: ↑26 and ↓8+18
Comments41

Как запомнить большое количество информации за короткий промежуток времени

Reading time2 min
Views13K
Многие люди, чья деятельность связана с большими объемами информации, задаются вопросом — реально ли запомнить большое количество данных за небольшое количество времени? Ответ – да, и для этого нужно помнить лишь несколько простых правил.
Читать дальше →
Total votes 85: ↑63 and ↓22+41
Comments59

Flash + вКонтакте API

Reading time12 min
Views1.7K

По шагам описаны регистрация и создание flash приложения под социальную сеть вКонтакте, использующего вызовы вКонтакте API. Написан AS3 класс-обёртка для вКонтакте API.
Приложение, процесс создания под катом.
Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments12

Сила отжиманий

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

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

Поэтому я хочу рассказать об отжиманиях, чем они лучше, с моей точки зрения, известных стандартных физических упражнений (подтягивания, приседания), для создания физической нагрузки в течение дня.
Читать дальше →
Total votes 254: ↑214 and ↓40+174
Comments135

Тест- драйв Пикад

Reading time2 min
Views535
На Хабре уже было несколько топиков про Пикады. Для тех кто не в курсе краткое описание от их создателей:

Что такое пикада? Пикада (от англ. pic'ture и ad'vertisment) — это реклама в микроформате (22х22 пикселя). В этом маленьком квадратике совмещены графика и небольшое текстовое сообщение. Размещение и оплата пикады производится одним кликом!

Смотрится это вот так:

image

Я решил протестировать пикады. Результатами и впечатлениями хочу поделиться с вами.
Читать дальше →
Total votes 35: ↑19 and ↓16+3
Comments11

Разработка дополнений только что стала проще

Reading time3 min
Views4.1K
[Developer Hub Logo]С превеликой радостью объявляем, что мы только что запустили Add-on Developer Hub (beta) — всеобъемлющий сборник сведений, где разработчики дополнений могут выяснить, зачем они пожелали бы изготовить дополнение, и как делают дополнения, и управлять списками своих дополнений.

Читать дальше →
Total votes 76: ↑67 and ↓9+58
Comments11

Почему российский Яндекс – наиболее быстро растущая поисковая система?

Reading time5 min
Views3.5K
Взгляд Search Engine Watch на поисковую систему Яндекс, её рост и развитие. Автор статьи — Энди Аткинс-Крюгер (Search Engine Watch) Перевод выполнен при поддержке компании Marketing Drive

ComScore опубликовал данные за Август, показывающие существенный рост поисковой активности во всем мире – история, которая породила множество публикаций. Однако в этом релизе осталось незамеченным утверждение: «…российская поисковая система Яндекс растет наиболее быстро (94%) среди поисковиков десятки лидеров». Так почему же Яндекс развивается так быстро?

Читать дальше →
Total votes 85: ↑67 and ↓18+49
Comments131

Пробежки: хороший спорт для айтишника или как начать бегать

Reading time5 min
Views29K
Всем известно что IT специалисты, в большистве своём, ведут сидячий образ жизни. Практически все рабочее время они проводят на своей 5-й точке. Это явно не идёт на пользу здоровью. А если учесть тот факт, что рацион среднестатистического ITшника достаточно вреден для организма, то в результате всех ждут: избыточный вес, атрофирование мышц, и еще всякие «мелкие неприятности» (вроде геморроя и импотенции). В этой статье я раскажу о пользе регулярных физических нагрузок, о беге трусцой, чем он хорош, и главное — как начать им заниматься.

Регулярные физические нагрузки нужны и полезны. Среднестатистический ITшник недополучает физических нагрузок на работе, это факт. Он не таскает холодильники на 9й этаж без лифта, не носит мешки с цементом на стройке, не бегает за мамонтом в надежде на вкусный ужин. Так что со временем он только «хиляет» и «сдувается». Думаю, это ощущает каждый, кто еще не занимается спортом по какой-либо причине, будь то нехватка времени, лень, или растеряность. Если же желание всё же возникает, то вместе с ним возникает и вопрос — какой же спорт выбрать?
П.С. Регулярный бег позволяет эффективно сбросить вес.
Читать дальше →
Total votes 254: ↑216 and ↓38+178
Comments271

Javascript: Хороший стиль кода как правило

Reading time1 min
Views612
imageБанальное поучение для начинающих программистов :)

Говорила мне мама: «Сынок, объявляй переменные явно, даже если это вроде бы и не обязательно!», а я все ленился.
Читать дальше →
Total votes 40: ↑28 and ↓12+16
Comments10

SSL сертификаты. Помогите отыскать тропинку в дремучем лесу

Reading time1 min
Views13K
imageПривет.
Столкнулся с проблемой выбора SSL сертификата для своего проекта. Тема оказалась обширная для меня на столько, что я просто не знаю с какой стороны подойти к её решению и поэтому хотел бы попросить знающих хабрапрактиков разжевать мне и коллегам по хабра-цеху (с подобным интересом) о всех тонкостях SSL сертификатах.
Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments84

Брутфорс cookies, забыли?

Reading time2 min
Views3.3K
Практически на всех более менее крупных проектах имеется система авторизации пользователей по введенному логину и паролю. Человек вводит логин и пароль и если они соответствуют данным в базе, то человек считается авторизованным, для него генерируется сессия и записывается в кукис. Наверное все вы слышали про брутфорс. Многие помнят о нем и реализуют защиту в виде ограниченных попыток ввода логина/пароля с некоторым интервалом. Но практически все забывают о том, что сессию, запрятанную в кукисе можно также брутфорсить. Более того, при аутентификации вы должны знать логин и пароль, а тут только сессию. Да и шаблон сессии (количество символов, какие символы) злоумышленник может посмотреть, зарегистрировавшись на портале.

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

1) Поставьте обязательную привязку к IP.
Если значение сессии из кукиса равно значению сессии из базы, но IP пользователя отличается от IP пользователя записанного в базе (при удачной авторизации), то выводите авторизационную форму с запросом логина и пароля.
Разумеется нужно дать пользователям возможность эту опцию отключить, т.к. иногда провайдеры меняют внешние IP (при натинге) и за полчаса пользователя может несколько раз кикнуть по такому алгоритму. Но по умолчанию опция должна быть включена! Это сильно ограничит взломщика.

2) Сессия должна быть как можно больше, ее длина должна варьироваться и состоять она должна из всех возможных символов.
Чем короче сессия, тем меньше возможных ее вариаций и тем больше вероятность подбора существующей сессии.
При постоянной длине, взломщик, зарегистрировав себе аккаунт, легко определит под какую длину нужно настроить программу — брутфорс, что минимизирует его время.
Т.к. взломщик может зарегистрироваться на портале, он может и собрать статистику по сессиям, из каких символов она состоит. Если он видит, что сессия состоит только из строчной латиницы, то внеся эти правила в свою программу он существенно сэкономит время подбора. Добавив только один дополнительный символ вы существенно увеличиваете время взлома!

3) Подумайте об использовании переменной окружения HTTP_USER_AGENT.
Если вы запишите в базу информацию о браузере и системе авторизированного пользователя и будете делать проверку на это условие при принятии сессии, то как минимум увеличите время взлома в несколько раз.

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

Надеюсь, что эта информация будет полезна веб разработчикам.
Total votes 15: ↑11 and ↓4+7
Comments16

В поисках НЛО. Детект объектов на изображении

Reading time6 min
Views55K
Взлом captcha это, конечно, интересно и познавательно, но, по большому счёту, бесполезно. Это лишь частный случай задачи, которая возникает в одном из интересных направлений развития IT – распознавание образов (pattern recognition).



Сегодня мы рассмотрим алгоритм (точнее, более правильно считать это методикой, т.к. она объединяет в себе множество алгоритмов), который стоит на стыке таких областей, как Machine Learning и Computer Vision.

С помощью этого алгоритма мы будем искать НЛО (позарился на святое) на изображениях.

Уберите детей!
Total votes 92: ↑91 and ↓1+90
Comments37

Защита прав потребителей в России: Мы далеко не последние

Reading time6 min
Views8.6K
Устал я слушать от знакомых причитания по качеству защиты прав покупателей в России и завистливые возгласы: «Вот на западе....».
Нет, я не хочу сказать что я негативно отношусь к западу, просто хочу показать, что и у наших граждан, есть защита. И закон о защите прав потребителей далеко не такой, каким многие его представляют.
Что же даёт нам закон?
Total votes 165: ↑164 and ↓1+163
Comments110

Автоматизация работы на ПК

Reading time6 min
Views17K
Привет, всем!
Хотел инвайт на Хабр (спасибо пользователю Nast за инвайт), и наконец-то этот факт стал двигателем для написания статьи, которая основывается на историю личного опыта в области автоматизации задач связанных с ПК.
Я – автоматизатор, люблю, что бы, большинство задач (программных, аппаратных) исполнялись автоматически без вмешательства меня или других людей.

Цель:
  1. Рассказать и, возможно, научить оптимизировать работу на ПК.
  2. Тот, кто искал подобную информацию, будет иметь знания для старта и развития в себе оптимизатора задач.
  3. Дать дополнительную возможность преодолеть лень, и сделать что-то, действительно, полезное для себя и окружающих.
  4. Показать, пример, как сделать программу, которая автоматически исполняет записанный алгоритм действий для вашего удобства.
  5. Доказать, что автоматизация — это не нудно, а в результате полезно и даже очень интересно.

Читать дальше →
Total votes 44: ↑39 and ↓5+34
Comments47

Information

Rating
Does not participate
Registered
Activity