WordPress 3.2.1 spart prin fisierele temei

Titlul este pompos ca in ziare si reviste. Pana la urma WordPress-ul a fost spart prin intermediul unei teme (theme, layout, sablon etc, cum ii zice fiecare). Aveam pe server mai multe teme gratuite oferite de mai multe site-uri (printre care si woothemes.com) si foloseam doar cateva dintre ele. Si prin una din ele, s-a putut intra si incarca pe server fisier cu cod PHP.

Orice programator mai rasarit – care mai face cracking, hacking – stie ca in momentul in care poti pune un fisier PHP pe un server, poti face multe pornind de acolo. Depinde ce doresti sa faci.

METODE

Am incercat sa astup groapa sapata de hacker si am folosit mai multe metode:

  • restaurarea fisierelor din back-up oferit de hosting
  • cautare de fisiere index.php si vizualizarea codului de la finalul fisierului
  • stergerea fisierelor ciudate de pe server (ex: Thumbs.db)
  • reinstalare de WordPress si alte site-uri
  • cautare de texte prin baza de date

.htacces
Blogurile dadeau un mesaj ciudat in burtiera:

PHP Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0
PHP Fatal error: Unknown: Failed opening required '/home/abcdefg/public_html/abcdefgh/Thumbs.db' (include_path='.:/usr/lib/php:/usr/local/lib/php') in Unknown on line 0

Am reinstalat, am cautat si… nimic. Pana la urma hackerul se bagase in “.htaccess” si a adaugat linia de mai jos

php_value auto_append_file /home/abcdefg/public_html/abcdefg/Thumbs.db

deci degeaba cautam in codul php, caci era folosita metoda “auto_append_file”.

Succes la cei care au gropi de astupat!

Blocare WordPress in “Briefly unavailable for scheduled maintenance. Check back in a minute.”

Se intampla ca WordPress-ul sa se blocheze la upgrade si sa obtineti doar mesajul “Briefly unavailable for scheduled maintenance. Check back in a minute.” in site si in admin.

Se potea rezolva problema prin stergerea fisierului “.maintenance” din radacina blogului. Intrati cu FTP sau cu alt File explorer si stergeti acest fisier. Atentie ca este ascuns si nu cu toate programelele il veti vedea. Succes

Import din b2evolution in wordpress

Site-ul cicerone.ro a functionat din 2006 pana in 2010 pe o versiune de blog, numita b2evolution. Dupa modificarea site-ului cicerone.ro cu instalarea unui WordPress MU, pentru a avea mai mule bloguri, au trebuit importate 4000 de articole in noua baza de date.

Importul din b2evolution in wordpress l-am facut cu un script special, avand documentatia la adresa: codex.wordpress.org/Importing_Content.

Problemele tehnice si pasii au fost:
1. se creaza blogul wordpress nou

2. scriptul de mai sus a avut erori din cauza ca este cam vechi. Partea de conexiune la baza de date wordpress avea lipsa parametru de conexiune la functia select().
Solutia: modificarea tuturor apelurilor functiei select cu adaugarea inca a unui parametru:
$wpdb->select(DB_NAME, $wpdb->dbh);
$wpdb->select($b2_db, $wpdb->dbh);

3. tabelele de la b2evolution (default cu prefix “evo_”) au trebuit sa existe in aceeasi baza de date cu cele ale wordpress-ului (defatult cu prefix “wp_”).

4. fiind o instalarea WordPress MU, exista mai multe tabele in aceeasi baza de date. Trebuie cautat numarul (identificatorul) bazei de data a noului blog (ex: numarul 4)

5. se modifica fisierul wordpressului, din diractorul radacina, cu ID-ul blogului activ:
if ( ! isset($blog_id) )
$blog_id = 4; // aici se pune ID-ul blogului de la punctul 4

Sper sa ajute pe cineva aceste informatii, succes la import