Poznański Budżet Obywatelski i CAPTCHA

Jak co roku można było głosować na Poznański Budżet Obywatelski. Wszedłem na stronę, zobaczyłem CAPTCHA i… zaniemówiłem. Implementacja, którą zobaczyłem była prostsza do połamania (czyt.: rozwiązania automatem) niż opisywana kiedyś CAPTCHA Agory. Polegała na podaniu wyniku dodawania dwóch liczb, podanych słownie, z zakresu 1-10. Dla ułatwienia tekst był podawany jawnie, jako tekst w HTML.

Jak już podniosłem szczękę z podłogi i przetarłem oczy, to dziesięć minut później miałem skrypt, który bezbłędnie podawał wynik. Zgłosiłem podatność, wraz z sugestią, żeby skorzystać z gotowców, a nie własnej, wadliwej implementacji CAPTCHA. Szybko otrzymałem odpowiedź, którą można streścić… it’s not a bug, it’s a feature:

Obecnie funkcjonujący mechanizm CAPTCHY został wprowadzony nie tylko w oparciu o bezpieczeństwo, ale również przystępność użytkowania, co w przypadku tak różnorodnej grupy osób jak grupa głosujących w Poznańskim Budżecie Obywatelskim, jest szczególnie ważne.

[…]

Zaproponowane przez Pana rozwiązanie – skorzystanie z usług zewnętrznych takich jak Google – jest niemożliwe do wprowadzenia, ponieważ musimy opierać się na własnych, niezależnych od firm zewnętrznych rozwiązaniach, co zapewnia nam pełną możliwość ingerowania w przypadku wystąpienia ewentualnych błędów czy problemów z usługą.

Wyciąłem opis dodatkowych mechanizmów weryfikacji osób głosujących, które na szczęście są obecne. Jednak stawka, o którą toczy się gra jest wysoka – nawet 2 mln za projekt ogólnomiejski. Liczę więc, że w przyszłym roku zabezpieczenia będą lepsze. Rozważyłbym wręcz wykorzystanie Profilu Zaufanego, tak po prostu. W tym roku wygenerowanie dodatkowych głosów było dość proste, choć sam automat do łamania CAPTCHA nie wystarczyłby.

Tak w ogóle nie zagłosowałem w tym roku – pamiętałem, żeby czekać do końca października i… przypomniałem sobie o głosowaniu 31.10. Skończyło się dzień wcześniej. Mówi się trudno.

UPDATE Niewielka aktualizacja w celu doprecyzowania w czym rzecz wynikająca z rozmowy. CAPTCHA, której rozwiązanie jest możliwe automatycznie to… nie CAPTCHA. Spokojnie można ją pominąć. Gdyby ktoś miał złe intencje i dostęp do bazy danych z danymi paru tysięcy mieszkańców Poznania, to stosunkowo łatwo, automatycznie mógłby w tym roku zmienić wyniki głosowania. Przy czym problem jest głębszy i CAPTCHA w Poznańskim Budżecie Obywatelskim, nawet działająca, nie ratuje tu sytuacji. Skala kilku tysięcy głosów jest do obsłużenia ręcznie, nawet przez pojedynczą osobę.

Profil Zaufany jest podobno mało popularny, nie mam zatem pomysłu jak sensownie zabezpieczyć tego typu głosowanie przez internet.

Wybór najlepszego interfejsu

Dodana kolejna funkcja, zwracająca trasy i odpowiednie dla nich najlepsze interfejsy. Napisane na szybko rano, przetestowane i poprawione przed chwilą, bo nie wiem jakim cudem napisałem rano taki bezsens. Plan był znacznie bardziej ambitny, dzień zapowiadał się pięknie i nawet zaryzykowaliśmy bonusowy wypad do centrum handlowego Posnania celem nabycia oświetlania, ale…

Zanim przejdziemy do ale dygresja nt. owego centrum. Nie wiem co jest zrobione źle. Albo nie jest skończone i nie działają wentylatory, albo jakaś awaria czujników, albo… broken by design. W każdym razie efekt jest taki, że na dość luźnym parkingu, przy braku jeżdżących aut jest duszno i mocno śmierdzi spalinami. Pierwszą rzeczą po wyjeździe było gruntowne przewietrzenie auta, nie chcę myśleć co będzie przy większym ruchu…

Inne wtopa – oprogramowanie do znajdowania trasy na tabletach (oj, można się zgubić, można…) działa w oszczędnej (Poznań, prawda? ;-)) wersji demo, zachęcającej klientów do zakupu licencji. Albo poczekania. Profesjonalnie. Niestety, fotki nie zrobiłem, bo napis zdążył zniknąć, a trochę mi się spieszyło, więc nie uruchamiałem drugi raz.

Wracając do ale: brak czasu, sponsoruje bieg Wings for Life World Run (ciekawa formuła, swoją drogą, może kiedyś się skuszę?). Nie wiedziałem, że się odbywa, więc nie sprawdziłem trasy i na powrocie utknąłem w korkach. Pewnie nie wkurzałoby, gdyby nie fakt, że bieg najpierw blokował główną ulicę z jednej strony centrum, a potem… inną ulicę z drugiej strony centrum. Jak doczytałem później, w międzyczasie jeszcze trzecią ulicę. Generalnie wjazd do centrum w praktyce wyłączony na ponad godzinę (stawka mocno rozciągnięta…), miasto totalnie zablokowane, bo korki się skumulowały, podobno 800 aut stało na rondzie Śródka.

Nie wiem co za umysł wytyczył tak trasę, ale jeśli chce w ten sposób zniechęcić ludzi do biegów czy też tej konkretnej imprezy, to jest na doskonałej drodze. Bo rozumiem start w centrum, przebiegnięcie przez centrum i jakieś utrudnienia w ruchu, żeby biegacze „byli widoczni”, ale totalna blokada centrum i pałętanie się biegaczy przez godzinę? Noż wyraz.

W każdym razie po godzinie stania w korku cała energia i chęć pisania czegokolwiek poszły się paść, więc tylko poprawki, ten wpis i tyle. Sondy dziś nie będzie.

PS Oświetlenie kupiłem.

Allegro Tech Talks Poznań #4 – wrażenia

W projekcie abcc panuje chwilowy zastój, spowodowany czynnikami różnymi – od osobistych (bardziej, znacznie bardziej), przez zawodowe (mniej, znacznie mniej), ale faktem jest, że spocząłem na laurach nieco i nic się od ostatniego wpisu nie zmieniło w temacie. Plan jest taki, żeby uruchomić sobie stację testową opartą o Raspbbery Pi, która będzie działać na dwóch lub trzech łączach (kabel, modem GSM i być może, jeśli RPi wyrobi prądowo, karta WiFi) i zrzucać pomiary, w celu lepszego dobrania parametrów. Ale to plany…

Tymczasem w ramach pożeraczy czasu byłem w zeszłym tygodniu na spotkaniu Allegro Tech Talks Poznań #4. Staram się bywać, jeśli akurat mam czas. Jeśli dobrze zrozumiałem, po raz pierwszy można było wysłuchać przez net na żywo, ale jakoś nie przepadam za taką formą – lepiej mi się obiera na żywo, nie mam nawyku słuchania przez net. No i zawsze można spotkać znajomych i poplotkować.

Prezentacje były dwie, obie dotyczyły Apache Solr, więc zupełnie nie moja działka, i przyznaję, że wahłem się, czy w ogóle iść, ale obie były IMO bardzo dobrze i interesująco poprowadzone, więc części merytorycznej też nie żałuję.

Pierwsza prezentacja dotyczyła uruchamiania Solra w kontenerach dockerowych, poczynając od tego jak to skonfigurować i uruchomić, przez przedstawienie wyników benchmarków pomiędzy sprzętem fizycznym (bare metal), przez pełną wirtualizację, po kontenery. Różnice były duże, przedstawione dane przekonują do kontenerów, ale… Zawsze jest jakieś ale, w tym przypadku testy były robione na ustawieniach domyślnych. Z jednej strony rozumiem, bo jakiś wspólny mianownik trzeba mieć, z drugiej produkcję konfiguruje się pod konkretny przypadek. Niemniej, różnice były na tyle istotne, że konfiguracja raczej nie będzie w stanie ich zniwelować. W sumie można było traktować tę prezentację mniej jako o Solr, bardziej jako o dockerze.

Druga prezentacja dotyczyła optymalizacji Solra w Allegro. Jak pisałem, nie moja działka, więc momentami była to trochę chińszczyzna (na zasadzie: nie wiem co to dokładnie jest), ale opowiedziane przystępnie, ciekawie i z przykładami. Mocno nieoczywiste przypadki i wyniki, efekty dobre. Stawiam, że dla osób zajmujących się Solrem perełka. Jest dostępna w wersji online.

Spotkałem też starych znajomych i poplotkowaliśmy, więc ogólnie bardzo udane wydarzenie – 10/10.