Wpis z mikrobloga

Pamiętam, że lata temu stronę, którą stworzyłem nawiedziła fala botów spamujących. To były wspaniałe czasy, gdy byłem kompletnym nowicjuszem i nie wiedziałem o istnieniu czegoś takiego jak SQL injection, kopie zapasowe i walidacja danych.

Mnóstwo kont rejestrowanych na przestrzeni 5-7 miesięcy pewnego dnia rozpoczęło zmasowany atak, reklamując po angielsku sposoby na pogrubienie prącia i konkursy, w których można wygrać miliony zielonych. Szybko zareagowałem i dodałem przepisanie kodu z obrazka, żeby odsiał dalszy spam. Jednakże pozostał kłopot: miałem stronę zasypaną tym niechcianym syfem. Na oko było tego ok. 2000 (normalnie użytkownicy zostawiali ok. 120-150 komentarzy miesięcznie).

Zauważyłem jednak charakterystyczny wzór. Mianowicie każdy niechciany komentarz zaczynał się (z bliżej nieznanych mi powodów) od kropki. Uradowany własną przebiegłością wszedłem do PhpMyAdmin i na serwerze produkcyjnym (nieposiadającym jak już wspomniałem żadnych kopii zapasowych) odpaliłem DELETE usuwający wszystkie komentarze zaczynające się od kropki.


#coolstory #webdev #programowanie #mysql
  • 10
@Damian1998: Dla tych, którzy regexp nie znają mogłeś napisać wyjaśnienie, że usunąłeś wszystkie komentarze, które zaczynały się ('^') od dowolnego znaku [poza nową linią] ('.').

No i że żeby skasować to, co chciałeś powinno być regexp '^\.'

A tak swoją drogą - nie ma w phpmyadmin commita po jakimś DML?
A tak swoją drogą - nie ma w phpmyadmin commita po jakimś DML?


@kemek: PHPMyAdmin nie ma tu nic do tego. Mysql po prostu jedynie udaje że obsługuje sesje (i dlatego niektórzy hipsterzy twierdzą że jest szybszy).