joi, aprilie 27, 2017

Cum sa verifici daca un user de wordpress este administrator

Cu subaplicatia: cum sa faci ca un user logat sa nu vada email-urile si ip-urile celor care posteaza.
Problema a aparut asa: douamaini, fiind blog colaborativ, inseamna ca oricine este logat are dreptul de „manage” pe articole. Doar ale lui, ce-i drept, insa poate sa vada emailurile si ip-urile celor care au postat. Si eu unul tin la „securitatea datelor”, privacy si bla bla, initial am scos codul care afisa comentariile de la posturi (doar in admin). Acum ca am facut update la wordpress, m-am lovit iarasi de problema:
wp user can see ip and email (before)
orice user logat putea vedea emailul si ip-ul.

Bon. Se ia orice editor de text, wordpad, notepad, dreamweaver :), si se deschide fisierul wp-admin/edid.php.
undeva la linia 196 (ctrl+g) daca aveti dreamweaver, este codul

if ($comment->comment_author_email), care se inlocuieste cu
if ($comment->comment_author_email && current_user_can('level_10'))
boldul este ce s-a modificat.
current_user_can(‘level_10′) este bucata de cod care verifica daca userul este admin. current_user_can poate fi rafinat, si poate verifica oricare drept care face diferenta intre rolurile userilor din wordpress (guest, user, contributor, editor, admin). tradus in romana, codul de mai sus inseamna: (daca persoana a lasat email de contact SI userul logat este administrator, atunci arata emailul

La fel se modifica si 3 linii mai jos, pentru IP, din
<?php _e('IP:') ?> <a href="edit-comments.php?s=<?php comment_author_IP() ?>&mode=edit"><?php comment_author_IP() ?></a>
, care se inlocuieste cu
<?php if (current_user_can('level_10')) { _e('IP:') ?> <a href="edit-comments.php?s=<?php comment_author_IP() ?>&mode=edit"><?php comment_author_IP() ?></a> <?php } ?>
aici nu scoatem doar afisarea ipului, ci si linkul care ne arata toate posturile de pe un IP. de aia incadram si partea cu „a href” in conditie.
Iar acum, pentru un user care nu e admin, va doar numele si situl. Adica exact ce este accesibil din front-page.
userii logati nu pot vedea ip sau email

Si ca sa mergem un pic mai departe, le blocam si dreptul de a vedea pluginurile, a edita comentarii si a intra in orice pagina din admin daca nu au dreptul
Restrict author access to edit comments
un plugin simplu, care da un mesaj de eroare atunci cand un user incearca sa accesese pagina admin.php, edit-comments.php sau comment.php – asta inseamna ca autorii nu editeaza comentarii. Linkurile catre aceste pagini nu pot fi scoase din rolurile wordpress, chiar daca folosesti un plugin de configurare a rolurilor

Un tutorial un pic de nisa, insa cine a programat ceva la viata lui stie ce inseamna sa cauti ore intregi pentru a gasi numele unei functii de 5-6 caractere

2 Comentarii

  1. mersik, chiar asta cautam de ceva vreme…

  2. Some small presses finance their operations with book contests. ,

Lasa un comentariu

Adresa de email nu va fi afisata. Required fields are marked *

*

Poți folosi aceste etichete și atribute HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Scroll To Top