Comments 50
Просто отличная статья! Спасибо.
А по поводу конкурса: отменять конкурс из-за своей же ошибки за день до его конца — это я считаю не самое правильное решение. Можно было бы например сбросить всем голоса и поставить нормальную систему голосования с защитой от накруток на последний день… Да и вообще много способов. А они же пошли по пути меньшего сопротивления.
В ру блогосфере деньги разыгрывают за ретвит статьи, а они ipad, смешно аж…
А по поводу конкурса: отменять конкурс из-за своей же ошибки за день до его конца — это я считаю не самое правильное решение. Можно было бы например сбросить всем голоса и поставить нормальную систему голосования с защитой от накруток на последний день… Да и вообще много способов. А они же пошли по пути меньшего сопротивления.
В ру блогосфере деньги разыгрывают за ретвит статьи, а они ipad, смешно аж…
Это сервис создания опросов, которые потом можно вставить куда угодно. В платном варианте очень ничего раньше был, а сейчас уже есть несколько бесплатных аналогов.
Ну тут я могу предположить три варианта развития событий.
1. Какой-нибудь рекламный тулбар / плагин или что ещё поспособствовало этому.
2. Микрософт решила провести вопрос по поводу своего фрэймворка (например для чего вы его скачиваете?) и что бы не мучить своих программеров работой, воткнула голосовалку от polldaddy и из-за слишком большого количества желающих скачать фреймворк — polldaddy настиг микрософт-эффект ;)
3. Это вообще был не сайт микрософта. 0_o
p.s. Сейчас пошёл на мозилле попробовал скачать все возможные.нет фрэймворки — все нормально, ничего не выскакивает.
1. Какой-нибудь рекламный тулбар / плагин или что ещё поспособствовало этому.
2. Микрософт решила провести вопрос по поводу своего фрэймворка (например для чего вы его скачиваете?) и что бы не мучить своих программеров работой, воткнула голосовалку от polldaddy и из-за слишком большого количества желающих скачать фреймворк — polldaddy настиг микрософт-эффект ;)
3. Это вообще был не сайт микрософта. 0_o
p.s. Сейчас пошёл на мозилле попробовал скачать все возможные.нет фрэймворки — все нормально, ничего не выскакивает.
— 6 голосов за президента Маккейна!
— Эй! Всего один из этих голосов предназначался Маккейну!
— Эй! Всего один из этих голосов предназначался Маккейну!
Писать на C# программку только ради единственного GET-запроса — это, по-моему, из пушки по воробьям. Есть много инструментов типа wget, curl. В крайнем случае perl, python — лучше в форме machanize и т.п.
писать html в чем-то, кроме блокнота — это то же стрельба по воробьям?
html в 5 строк — да, по воробьям.
А вот если у меня блокнот, но с подсветкой синтаксиса. Его тоже нельзя использовать? :)
Не было у меня никакого «нельзя» в комментарии. Из пушки можно стрелять по воробьям. Но есть специальный инструмент и надо о нем упомянуть.
В данном случае задачу сисадмина решил программист. Тут все нормально для статьи «Простое использование HttpWebRequest/HttpWebResponse в C#» и «Как пользоваться функцией jQuery ajax()». Только ведь ни в заголовок ни в теги не вынесены C# ни jQuery.
В данном случае задачу сисадмина решил программист. Тут все нормально для статьи «Простое использование HttpWebRequest/HttpWebResponse в C#» и «Как пользоваться функцией jQuery ajax()». Только ведь ни в заголовок ни в теги не вынесены C# ни jQuery.
Я это написал, чтобы Вас «достать». Извините меня, пожалуйста.
Вы правы на счет пушки.
Я имел в виду немного другое. Конечно, указанные Вами инструменты более естественны для решения подобной задачи. Но есть одно условие: это подходит для человека, который с ними знаком.
Вот я, возможно, плохой веб-разработчик, но про wget и curl я ничего не слышал, а про perl и python — слышал только названия.
К счастью, у меня есть пушка под названием C#, которая может стрелять не только по большим целям, но и по воробьям тоже. Это позволяет мне не тратить время на изучение дополнительных инструментов, а просто решить нужную мне задачу.
Думаю, выбор автора статьи связан именно меньшими временными затратами на решение задачи.
Извините, что все это Вам пишу. Просто задело за живое, т.к. сам поступил бы точно так же.
Вы правы на счет пушки.
Я имел в виду немного другое. Конечно, указанные Вами инструменты более естественны для решения подобной задачи. Но есть одно условие: это подходит для человека, который с ними знаком.
Вот я, возможно, плохой веб-разработчик, но про wget и curl я ничего не слышал, а про perl и python — слышал только названия.
К счастью, у меня есть пушка под названием C#, которая может стрелять не только по большим целям, но и по воробьям тоже. Это позволяет мне не тратить время на изучение дополнительных инструментов, а просто решить нужную мне задачу.
Думаю, выбор автора статьи связан именно меньшими временными затратами на решение задачи.
Извините, что все это Вам пишу. Просто задело за живое, т.к. сам поступил бы точно так же.
На самом-самом деле (как в детском саду, ага:-) мы натолкнулись на ключевое отличие Microsoft-way от Unix-way.
В unix куча встроена специализированных утилит. Каждая поддерживается собственным программистом, автоматизируется из консоли и так далее. Поэтому решение проблемы часто сводится к задаче выбора инструмента.
Говоря грубо — много рогаток, каждая на своего воробья.
В продуктах microsoft сверхспециализированные утилиты не приживаются, вместо них есть программирование. Ты просто открываешь Visual Studio, пишешь решение задачи и компилируешь его. Искать инструменты — не нужно и даже лениво.
Такая одна, но супер-пупер пушка.
В unix куча встроена специализированных утилит. Каждая поддерживается собственным программистом, автоматизируется из консоли и так далее. Поэтому решение проблемы часто сводится к задаче выбора инструмента.
Говоря грубо — много рогаток, каждая на своего воробья.
В продуктах microsoft сверхспециализированные утилиты не приживаются, вместо них есть программирование. Ты просто открываешь Visual Studio, пишешь решение задачи и компилируешь его. Искать инструменты — не нужно и даже лениво.
Такая одна, но супер-пупер пушка.
Человек воспользовался языком, который ему знаком и удобен.
Да я как бы и не против. Я просто перечислил ключевые слова для поиска человеку, который столкнется с аналогичной задачей.
Если он знает C# — зачем ему где-то что-то искать, если можно воспользоваться уже знакомым языком?
Только сейчас увидел, что сделал ошибку даже в ключевом слове. Конечно, «mechanize», извините.
Ученому, которому микроскоп знаком и близок, конечно без проблем забьет им гвоздь в стену, чтобы повесить картину. Лишь бы он не обучал этому строителей.
Ученому, которому микроскоп знаком и близок, конечно без проблем забьет им гвоздь в стену, чтобы повесить картину. Лишь бы он не обучал этому строителей.
Хреновый вы разработчик, ваша поделка на Аяксе не будет голосовать из-за cross-domain ограничений. Надо делать проще: img или iframe с нужным УРЛ.
Ой сорри, jsonp не заметил, будет :)
Хреновый вы комментатор ;-}
В свое оправдание могу только сказать, что использовать 160 Кб яваскрипта для такой простой цели, как отправка 1 запроса — явный перебор. хотя и считается нормальным среди современных разработчиков. Эх, были люди в наше время, не то что нынешнене племя.
Да это вообще, простите, быдлокод какой-то, имхо =)
Использовать JSONP и jQuery только для того, чтобы вставить в html-документ элемент с заранее известным URL в качестве источника — …
Почему сразу-то не написать <script src=«нужный нам URL»>?
Зачем тут вообщеJavaECMAscript нужен?
Использовать JSONP и jQuery только для того, чтобы вставить в html-документ элемент с заранее известным URL в качестве источника — …
Почему сразу-то не написать <script src=«нужный нам URL»>?
Зачем тут вообще
И Вам спасибо за комментарий :) Вы правы можно и так. Еще можно iframe сделать, а вот тут еще в комментариях ниже написали про способ через картинку на каком нибудь известном блоге. Я вообще изначально думал, что надо будет параметр rand генерировать случайно каждый раз заново, поэтому как то сразу стал думать про javascript (уже потом когда статью писал убрал это для простоты, не подумав что, в принципе, можно еще проще сделать)…
Спасибо за Fiddler, хорошая штука.
Можно вообще где-то на Хабре (например, в данном топике) разместить ссылку на свой скрипт (под видом картинки) — пусть читатели автоматом голосуют!
Я так свой домашний сервер планировал исследовать на DoS-устойчивость.
Если не будет под рукой достойного материала, чтобы попасть на главную, то как минимум комментарии-то к топовым статьям с главной всегда можно понаоставлять.
Если не будет под рукой достойного материала, чтобы попасть на главную, то как минимум комментарии-то к топовым статьям с главной всегда можно понаоставлять.
банить по IP не вариант — выделенный IP далеко не у всех, а у многих вообще динамический. Кроме кукисов других способов я не вижу. Возможно еще регистрация с подтверждением на email, но это заморочки для голосующего, да и ящиков можно открыть сколь угодно много…
Для запрета чисто автоматической накрутки есть давно известные методы. А от накрутки вручную на 100% избавиться невозможно, я считаю.
Friendsaround.me и со вторым конкурсом лоханулись: сообщение, которое необходимо запостить у себя в твиттере для участия в конкурсе — "@friendsaround is giving away an iPad if you follow them and tweet this message. ow.ly/1hcST #friendsaroundme" — не увидит никто из ваших читатетелй, так как по сути это реплай :)
Аналогичная ситуация была когда летом ЛинуксЦентр устраивал конкурс и разыгрывали ЕееРС.
Сначало все было «честно», а потом народ прознал про накрутку и понеслось…
Желание в таком участвовать и уважение к организаторам сильно упало.
Но за труды автору респект!
Сначало все было «честно», а потом народ прознал про накрутку и понеслось…
Желание в таком участвовать и уважение к организаторам сильно упало.
Но за труды автору респект!
Спасибо за отчет! Уважуха за то, что не расстраиваетесь.
А организаторы конкурса — уроды моральные.
А организаторы конкурса — уроды моральные.
Мне если честно даже не столько неприятны организаторы, сколько те люди, которые думали, что будут «самыми умными», если напишут элементарный скрипт посылающий get запрос.
Спасибо за поддержку — жаль, что Вас минусят (помог чем смог :) ).
Спасибо за поддержку — жаль, что Вас минусят (помог чем смог :) ).
предложите ваш способ организации подобного голосования, чтобы оно было честным?
этот вопрос адресован, предшествующему комментатору
Любые голосования будут честными в том случае, если:
— не будет указан автор/страна/какая-либо принадлежность к чему-либо;
— не будет доступно число проголосовавших/результат;
— участники, по чьим работам/фоткам/стихам и т.д. идёт голосование будут изолированы на время голосования без права переписки и любого другого общения.
В противном случае любое голосование нечестно. Так как постоянно начинаются сообщения в аськах, контактах, почтах и т.д. — ПРОГОЛОСУЙ ЗА ЭТО (ссылка).
Я обычно против, но так как мне от этого ни холодно, ни жарко, голосую. Правда очень редко.
— не будет указан автор/страна/какая-либо принадлежность к чему-либо;
— не будет доступно число проголосовавших/результат;
— участники, по чьим работам/фоткам/стихам и т.д. идёт голосование будут изолированы на время голосования без права переписки и любого другого общения.
В противном случае любое голосование нечестно. Так как постоянно начинаются сообщения в аськах, контактах, почтах и т.д. — ПРОГОЛОСУЙ ЗА ЭТО (ссылка).
Я обычно против, но так как мне от этого ни холодно, ни жарко, голосую. Правда очень редко.
А мне просто Ваш вариант слогана показался самым крутым.
Имейте в виду.
Имейте в виду.
Я как-то накручивал голосование на www.runewsweek.ru/photokonkurs/
Защита тоже только по Cookies и никакой CSRF защиты не было…
Мало того, обнаружил очень странное поведение — если накручивать в несколько потоков — то результат сбрасывается!
Т.е., как я понял, их скрипт голосования сперва считывает из БД в память текущее кол-во голосов, обнуляет его в БД, в памяти инкрементирует и снова записывает в БД, при этом если между моментом обнуления и записи инкрементированного результата успеет считать результат другой поток, то он считает «0» )))
В результате многопоточным голосованием можно было обнулять результаты конкурентов (которые тоже некисло накручивали) а плавным спокойным голосованием накручивать себе. В итоге результаты один раз даже обнулила администрация сайта и продлила время голосования.
P.S.: скрипт накрутки на питоне писал
Защита тоже только по Cookies и никакой CSRF защиты не было…
Мало того, обнаружил очень странное поведение — если накручивать в несколько потоков — то результат сбрасывается!
Т.е., как я понял, их скрипт голосования сперва считывает из БД в память текущее кол-во голосов, обнуляет его в БД, в памяти инкрементирует и снова записывает в БД, при этом если между моментом обнуления и записи инкрементированного результата успеет считать результат другой поток, то он считает «0» )))
В результате многопоточным голосованием можно было обнулять результаты конкурентов (которые тоже некисло накручивали) а плавным спокойным голосованием накручивать себе. В итоге результаты один раз даже обнулила администрация сайта и продлила время голосования.
P.S.: скрипт накрутки на питоне писал
Вы будете смеяться, но новый конкурс у них тоже косячный. :)
помню как мы голосование mr.twitter накручивали :)
Sign up to leave a comment.
Накручиваем PollDaddy.com. Битва за iPad в 4-ех действиях