Ce s-a intamplat?

Spre deosebire de Twitter, blogul meu n-a fost atacat de nimeni. 🙂 Povestea, pe scurt, e urmatoarea. Aveam un plugin, KB Advanced RSS pe numele lui, care afisa un feed cu articole publicate pe celelalte bloguri de pe gramo.ro. Dupa ultimul update, plugin-ul asta a luat-o razna si a inceput sa salveze in disperare acelasi feed, over and over again, in baza de date a blogului.

Si nu oriunde, ci in wp_options, unde sunt salvate toate optiunile importante, atat pentru afisarea blogului, cat si pentru partea de administrare. Cand a ajuns tabelul ala sa aiba vreo 20 Mb, scripturile in php care incercau sa citeasca informatii de acolo au inceput sa dea chix.

In loc de blog nu se mai vedea nimic, in administrare nu se mai putea intra, stuff like that. Toate fisierele erau la locul lor, bineinteles. Si nu vedeam nici o eroare (in error_log n-am gasit nimic interesant; am incercat sa deschid blogul in consola, folosind curl -v, si tot n-am vazut vreo eroare care sa ma ajute).

Degeaba am dezactivat pluginurile, fiindca raul se produsese deja. Un upgrade al WordPress-ului n-a schimbat nimic, fiindca problema nu era acolo. Incercarea de a repara baza de date n-a dus nicaieri, fiindca baza de date nu era stricata, ci doar umflata. 🙂

In disperare de cauza am ras tot WordPress-ul de mana, am sters baza de date si am facut o instalare noua. “Hello World” s.a.m.d. Totul era ok. Cum importam vechea baza de date, however, iar nu mai mergea nimic. Prin incercare si eroare am ajuns la concluzia ca problema e cu wp_options.

Asa ca am inceput sa ma joc cu phpMyAdmin. Am exportat doar tabelul cu wp_options din baza de date noua, am incarcat vechea baza de date (bineinteles ca iar a disparut blogul), dupa care am importat wp_options – varianta curata. Victory was mine!

Nu pentru mult timp, though. Am refacut setarile blogului si am activat rand pe rand pluginurile. Printre ele era, bineinteles, si raufacatorul. Dupa vreo ora, timp in care am muncit sa fac blogul sa arate cum trebuie (reinstaland tema, adaugand widget-urile s.a.m.d.), iar a disparut tot. 🙂

Pluginul criminal nu statuse degeaba. Faza tare e ca blogul a picat exact cand activam pluginul pentru Lifestream, asa ca am dat vina pe el. Am ras tot ce tinea de plugin-ul respectiv, am golit, pur si simplu, tabelul wp_options si am luat-o de la capat.

Dar KB Advanced RSS ramasese activat, asa ca nu i-a luat mult timp sa umfle iar baza de date. Blogul a disparut din nou. Bineinteles, dupa ce reusisem iarasi sa refac toate setarile, widgeturile si celelalte. 🙂

De data asta am luat la mana (in phpMyAdmin) baza de date. Am inceput sa ma uit la fiecare rand din wp_options. Unde aveam dubii, ma uitam pentru comparatie la inregistrarile din alta baza de date (cea a blogului lui Gramo-kid). Dupa vreo doua sute de inregistrari am vazut ca incep sa apara niste chestii care semanau toate intre ele si care n-apareau si in cealalta baza de date.

Le-am deschis si am vazut ce contin – cateva zeci de posturi din feed-ul blogurilor de pe gramo.ro. In sfarsit descoperisem criminalul. 🙂 L-am dezactivat, am sters toate inregistrarile alea (wp_options a scazut la cateva sute de Kb, de la 18 Mb) si totul a inceput sa mearga.

Si cam asta e tot. N-am avut rabdare sa ma uit in php-ul pluginului aluia ca sa vad unde e buba.

Dar ideea e alta. Baza de date care contine toate posturile si toate comentariile de pe blogul meu e arhivata pentru back-up la fiecare 3 zile. Si chiar daca se strecoara vreo eroare in ea, se poate repara (chiar si de mana). Deci nu aveti de ce sa va faceti griji ca s-ar pierde informatiile de aici. Totul e ok. 🙂

9 thoughts on “Ce s-a intamplat?

  1. carlitos

    si eu care crezusem ca e un joc nou! 🙂 ceva gen “tabula rasa” 😛 … silly me, asa patesc oamenii care nu se pricep! 🙂

    si abia asteptam continuarea! 🙂

      1. carlitos

        prin urmare, am stat degeaba cu ochii pe reader, asteptand sa trecem la nivelul urmator. 😀

        dar tot e bine ca ai apucat sa-l prinzi inainte sa-ti faca el cu ochiul si sa fii “mort”. 😉

Comments are closed.