Arhive categorie: Programare Web

Introducere format JSON

Cunosti formatul JSON? Te intereseaza mai multe informatii despre acesta?

IT-ul este un domeniu care a inceput sa se dezvolte pentru a usura viata oamenilor. Din acest motiv, IT-ul va fi mereu intr-o continua cautare pentru a gasi cele mai bune solutii spre satisfacerea clientilor.

Numele JSON este un acronim pentru JavaScript Object Notation. Acesta un format text pentru date care a fost conceput pentru a putea fi human-readable si usor de transmis intre un server si un client web. Sintaxa acestuia provine din JavaScript, dar chiar si asa poate fi folosit in majoritatea limbajelor de programare, incluzand C# si AS3.

Arrays

Ca si programator web cu experienta, cu siguranta intelegi ce inseamna aranjarea in formatul JSON, dar ca si programator web incepator notiunea s-ar putea sa nu iti fie atat de clara.

Good to know! Aranjarea se refera la o colectie de itemi, fiecare dintre acestia fiind atribuiti unui specific intreg.

De exemplu, in JSON, o etalare a primelor sase litere din alfabet ar putea fi reprezentate in acest fel:

["a", "b", "c", "d", "e", "f"]

Cu siguranta, programatorii web care au mai lucrat in JavaScript si AS3 vor gasi asezarea de mai sus familiara. De asemenea, si in cazul limbjaului de programare C# pentru definirea unui etalon, insiruirea se face in acelasi mod.

Remember! Parantezele drepte se folosesc pentru a descrie etalarea, iar virgulele sunt folosite pentru a separa elementele diferite.

Exista si o modalitate mai usoara pentru ca aceasta aranjare sa fie citita mai usor, si anume:

[
  "a", 
  "b", 
  "c", 
  "d", 
  "e", 
  "f"
]

PS: Se poate observa ca dupa ultimul element nu mai exista nicio virgula.
Etalarea JSON functioneaza si sub forma altor elemente precum false, true sau null, sau chiar numere. Nu exista o scriere tipica, ceea ce ofera libertate pentru a combina tipurile de valori de care ai nevoie. De exemplu:

[
 "apple",
 3,
 912,
 null,
 -7.2222202,
 "#",
 true,
 false
]

Good to know! Pentru a incadra fiecare insiruire ai nevoie de ghilimele duble (“), intrucat cele single (‘) nu sunt permise.

Objects

Un array reprezinta o colectie de elemente in care fiecare element este distribuit intr-o anumita unitate. Un obiect (object) este o colectie de elemente in care fiecare element este distribuit unui sir specific.

Elementele sunt numite valori, iar sirurile folosite pentru a le identifica sunt numite chei (keys). In anumite limbaje de programare aceasta structura de date poate fi gasita sub numele de hash map sau hash table.

Poti folosi objects pentru a utiliza sirurile ca si valori si nu doar keys. De exemplu:

{
 "PHP": 10,
 "CSS": 8,
 "HTML": 10,
 "JavaScript": 9
}

Folosirea JSON cu alte platforme

JSON este un format popular, motiv pentru care acesta functioneaza si cu platforme diferite. Acest mod de functionare este posibil datorita generators si parsers. Acestea sunt unelte si librarii (tool-uri si libraries) care ajuta colaborarea dintre JSON si alte platforme sa functioneze.

Mai exact, generatorii ajuta cu encodarea unui limbaj de programare intr-un altul, iar parsers decodeaza un limbaj de programare pentru a putea fi inteles de un alt limbaj de programare. Ambele optiuni sunt disponibile pentru aproape toate limbajele de programare.

Daca iti doresti sa inveti mai multe despre formatul JSON, sa inveti programare web de la zero, si nu numai, ma poti contacta aici!

 

Noul WooCommerce REST API se bazeaza pe WP REST API

Cauti mai multe informatii despre noul WooCommerce REST API?

In 2014, pe cand WooCommerce versiunea 2.1 se dezvolta, se vorbea despre WordPress care sa aibe propriul REST API. Insa, cererea a fost atat de mare pentru un REST API in WooCommerce incat a trebuit sa fie facut.

Dar, avand in vedere ca acum este face parte din nucleul WordPress-ului si tehnologia evolueaza pe zi ce trece, s-a inceput sa se lucreze la inlocuirea procesului API, cu ceea ce ofera WordPress.

Ce schimbari API vor aparea?

Una dintre primele schimbari ce vor aparea cu API sunt endpoints-urile, unde pentru a-ti aduce comenzile procesul va fi putin diferit.

A fost necesar sa se faca modificari in ceea ce privesc datele care sunt oferite prin API; date care reflecta schimbarile si progresul din nucleul WooCommerce-ului, dar totusi datele sa fie constante.

WP REST API foloseste documente pentru endpoints si scheme pentru a descrie. In acest fel, e mai usor procesul de crearea a obiectivelor, deoarece stii ce ai nevoie.

Ce fel de API ar trebui sa folosesc pentru aplicatii?

De indata ce este lansat, este recomandat sa folosesti noul WP API, intrucat este mult mai usor de folosit, este simplu si foloseste nucleul WordPress-ului pe cat de mult posibil.

Pentru ca toti utilizatorii WordPress sa aibe timp de a migra de la versiunea curenta de REST API la cea noua, inca se aproba utilizarea versiunii curente.

Ce ramane la fel?

Exista anumite puncte care raman la fel, cum ar fi:

  • Webhooks vor functiona in continuare;
  • Toate cheile WC REST API vor putea fi folositi in WP REST API;
  • Toata partea curenta de REST API va fi in continuare disponibila;
  • Autentificarea endpoint va functiona ca si pana acum.

In ceea ce priveste autentificarea este posibil sa se foloseasca oAuth1.0a si Basic Auth folosind cheile WC API. Nu sunt planuri pentru a elimina sistemul de chei API, tocmai pentru a facilita migrarea aplicatiilor folosind APIs.

Daca iti doresti sa inveti mai multe despre REST API, ce inseamna programarea in WordPress, si nu numai, ma poti contacta aici!

Introducere in WordPress REST API

WordPress a avut o crestere mare in ultimii ani, de la aparitia sa in 2003 cand era doar o platforma de blogging la una dintre cele mai populare sisteme de management al continutului. S-a maturizat destul pentru a sustine majoritatea audientei online.

Cand vine vorba despre dezvoltarea unui CMS, o parte importanta sta in functionalitatile pe care le prezinta si pe care le imbunatateste odata cu trecerea timpului. Una dintre cele mai noi functionalitati, este REST API care permite altor platforme sa interactioneze cu WordPress.

Aceasta functionalitate va fi de mare ajutor programatorilor web care dezvolta aplicatii personalitate si sisteme integrate cu WordPress. Mecanismul e posibil deoarece, WordPress ofera capacitatea de a adauga si a sterge continut de pe orice site web sau client, fara a fi necesar sa instalezi WordPress in acel site web.

Pentru a avea o imagine de ansamblu a ceea ce presupune REST API, iti voi prezenta conceptele de baza REST si JSON.

Inceputurile REST

In primul rand, REST este o abreviere pentru Representational State Transfer. REST este o tip de arhitectura. E necesar sa ii intelegi structura si conceptele, deoarece sunt esentiale in dezvoltarea unor aplicatii care folosesc tipul acesta de arhitectura.

Acest model de arhitectura ajuta la crearea si organizarea unui sistem distribuit. Vede web-ul ca o aplicatie hypermedia distribuita a carei link-uri surse sunt transmite prin schimbul de reprezentatii de stare de resurse.

Fundatia pe care se cladeste arhitectura REST sunt resursele, acestea fiind esentiale pentru web; web-ul fiind numit si un resource-oriented.

In ceea ce priveste WordPress, aceste resurse sunt entitati discrete la fel ca paginile, utilizatorii, postarile, postarile personalizate, comentariile, etc. Pentru a interactiona cu resursele, sunt folosite URI-le (Uniform Resource Identifier) care sunt identificatoare pentru resurse.

WP REST API suporta mai multe tipuri de resurse, precum: pagini, comentarii, utilizatori, postari, tipuri de postari personalizate, media, conditii, postari meta si revizii.

Codurile de raspuns HTTP

Raspunsul unui server in urma unei cereri se face prin reintoarcerea unui raspuns care contine un cod de raspuns HTTP. Aceste coduri sunt numere cu semnificatii predefinite. De exemplu, aproape orice persoana care are acces la internet cunoaste codul status 404, care inseamna ca ceea ce utilizatorul cauta nu poate fi gasit.

Good to know! Raspunsul server-ului este dependent de metoda folosita in solicitare sau de felul verbului HTTP.

Printre cele mai utilizate coduri de raspuns HTTP si care se gasesc atunci cand lucrezi cu WP REST API sunt:

  • 200 – OK: Acest cod arata ca solicitarea a fost completata cu succes si ca serverul a oferit un raspuns; de obicei apare dupa o solicitare de tipul GET care a fost realizata cu succes;
  • 201 – Created: Deobicei apare dupa o solicitare de tip POST care a fost finalizata cu succes;
  • 400 – Bad Request: Apare atunci o solicitare a fost trimisa cu parametrii invalizi sau cu ceva lipsa. Se regaseste deobicei in solicitarile de tip PUT si POST;
  • 405 – Method not Allowed: Se regaseste cand un verb HTTP a fost incarcat in solicitare si nu a fost suportat de catre resursa. Un exemplu in acest sens, sunt situatiile in care un utilizator incearca sa actualizeze o resursa read-only;
  • 410 Gone: O resursa a fost mutata intr-o alta locatie; in situatiile in care se incearca stergerea unei surse care e deja stearsa sau care a fost mutata in cosul de gunoi;
  • 500 – Internal Server Error: Solicitarea nu poate fi completa datorita unei situatii neasteptate;
  • 501 – Not Implemented: Serverul nu suporta functionalitatea pentru a putea termina solicitarea, fiind des intalnita in situatiile in care serverul primeste o metoda de solicitare pe care nu o recunoaste.

Verificarea acestor coduri de raspuns si verbe HTTP se fac mai amanuntit in momentul in care se incepe proiectul cu API.

Verbele HTTP

Cu ajutorul REST API poti efectua operatii de tip CRUD. CRUD este o abreviere pentru Create Read Update Delete. Aceste operatii se fac pe surse folosind HTTP si tocmai din aceasta cauza REST foloseste solicitari limitate de HTTP:

  • PUT – Folosit pentru actualizarea unei surse;
  • GET – Pentru a citi sau a recupera o resursa;
  • HEAD – Pentru a verifica existenta unei surse;
  • POST: Folosit pentru a crea o noua resursa;
  • DELETE: Pentru a sterge o resursa;
  • OPTIONS: Folosit pentru a recupera toate verbele suportate de catre o resursa.

Intr-un service RESTful, fiecare dintre aceste verbe are un sens bine definit. GET, POST, PUT si DELETE fac parte din actiunile CRUD; in sensul in care acestea recupereaza, actualizeaza, creeaza si sterg entitati.

Verbele OPTIONS si HEAD ajuta un client pentru a determina existenta unei surse si ce verbe HTTP sunt disponibile pentru a efectua operatii ulterioare.

Pentru a efectua cu succes aceste postari folosind WP REST API se folosesc urmatoarele endpoint-uri:

GET wp/v2/posts – Acesta va returna o colectie a tuturor postarilor; iar cand urmatorul endpoint este declansat se reintoarce la o anumita entitate. De exemplu, o postare care are un id de 100:

GET wp/v2/posts/100 – O solicitare de tip POST creeaza o noua entitate, in timp ce solicitarea PUT inlocuiesti acea entitate cu o noua versiune.

PUT wp/v2/posts/100 – O astfel de solicitare va actualiza o postare care are un id 100.

POST wp/v2/posts – Se foloseste pentru a crea o noua postare.

O solicitare de tip DELETE sterge o resursa din sistem. Aceasta, la fel ca si tipul de solicitare PUT sunt repetabile, in sensul in care au acelasi efect asupra sistemului.

Serviciul de RESTful mai ofera doua verbe HEAD si OPTIONS; care sunt de mare ajutor in situatiile in care un clien doreste sa verifice ce resurse sunt disponibile in sistem si ce actiuni sunt suportate; avand o imagine de ansamblu a actiunilor ce urmeaza a fi desfasurate.

Motive pentru care sa folosesti JSON REST API pentru WordPress

Combinatia dintre JSON si REST ofera un mecanism, care foloseste back-end-ul de la WordPress, pentru a crea aplicatii solide. Cele mai bune exemple in acest sens, sunt aplicatiile mobile care necesita un schimb de date intre dispozitiv/ client si server.

Astfel, JSON ofera o alternativa usoara pentru solutiile bazate pe  XML, care iau in vedere limitatiile pe care latimea de banda le are in momentul folosirii datelor mobile.

Cand vine vorba despre schimbul de date pe diferite platforme, care pot fi citite atat de oameni cat si de masinarii, JSON poate fi considerat un conector global. Acesta poate fi folosit fara nicio problema cu majoritatea limbajelor de programare, deoarece JSON este un format bazat pe text pentru stocarea datelor.

Iar cu ajutorul lui API, continutul site-ului tau WordPress nu este limitat, putand fi accesat atat de clienti cat si de alte site-uri. Motivul este pentru ca API expune anumite parti care apartin functionalitatilor interne, iar clientii pot interactiona cu site-ul tau de la distanta, fie pentru a crea continut nou, fie pentru actualizarea unor informatii. De asemenea, ai posibilitatea de a recupera continut de pe un site WordPress si de a-l publica pe un alt site.

WP REST API poate fi folosit pentru:

  • Aplicatiile Single Page (SPAs);
  • Aplicatii mobile;
  • Integrarea cu alte platforme server-side, ca de exemplu: Django, Ruby, .NET, etc;
  • Panouri de administrare personalizate pentru WordPress.

Avand in vedere ca framework-urile JavaScript, de tipul Backbone, Angular sau Ember, se dezvolta tot mai mult, fapt ce face posibila folosinta unuia dintre framework-uri de a crea cat mai bune experiente pentru utilizatori, in timp ce folosesti partea de back-end pentru WordPress.

Daca iti doresti sa inveti mai multe despre WP REST API, despre programarea web si programarea in WordPress, gasesti aici datele mele de contact!

SQL Injection – Cel mai folosit tip de atac

Te intereseaza mai multe informatii despre atacurile cibernetice? Cunosti tipul de atac SQL Injection?

Atacurile cibernetice sunt tot mai des intalnite si sub tot mai multe forme. Acestea sunt lansate din diverse motive, cum ar fi accesarea unor informatii secrete sau pentru a sabota anumite echipamente.

Indiferent de motiv si modalitatea de actiune, atacurile cibernetice sunt la fel de neplacute si pot ajunge chiar un obstacol in castigarea unor clienti si vizitatori noi sau in mentinerea celor existenti.

Asadar, pentru a putea preveni intr-o masura cat mai mare aceste atacuri, e recomandat sa afli cat mai multe informatii despre cum iti poti avea o securizare mai puternica, dar si despre tipurile de atacuri si modul lor de functionare.

Cat de raspandit e acest tip de atac?

SQL Injection este o vulnerabilitate foarte intalnita, motiv pentru care este considerata cea mai populara, de tipul sau, injectare.

Conform unui studiu, condus de Ponemon, 65% dintre organizatiile participante au experimentat un atac SQL Injection in ultimul an. Aceasta cercetare a fost publicata cu doi ani in urma, dar chiar si asa, se poate folosi ca o estimare.

SQL Injection este raspandita in special, in codul mostenire. Acum cativa ani, publicul online era mai putin constient de pericolul acestui tip de atac, motiv pentru care era mult mai intalnita.

Influenta atacului SQL Injection

La fel ca orice atac, influenta pe care acesta o poate avea difera de la un caz la altul. In majoritatea cazurilor, influenta pe care atacul o aduce sunt informatiile furate dintr-o baza de date. In aceasta categorie intra informatii confidentiale de mai multe tipuri, precum parole, nume de utilizatori si altele.

Intr-o situatie extrema, dar posibila, cel mai rau scenariou posibil ar include o preluare totala a intregului sistem; dar aceasta depinde si de mediul in care este si tipul de injectie.

SQL Injection care poate fi realizat atat manual, cat si automat; atacul automat punand aplicatia web in mai mare pericol. Deoarece, asa cum mentionam in articolele anterioare, atacatorul nu are neaparat motive personale pentru care iti ataca site-ul web.

In schimb, acestia scriu un cod care exploreaza mai multe site-uri, iar daca al tau e atacat inseamna ca exista o portita de intrare undeva.

Cum descoperi un astfel de atac

In functie de nivelul cunostintelor tale ca si programator web, poti alege mai multe modalitati pentru a putea descoperi daca site-ul web a fost atacat.

Pentru cei la inceput de drum, exista diferite companii care ofera astfel de servicii, aplicatii care scaneaza site-ul, sau poti alege un programator web cu experienta care sa efectueze aceasta parte.

In cazul in care ai mai multa experienta ca si programator web, poti cauta vulnerabilitatea printr-o analiza de cod, identificand tote queries in aplicatia web si urmarind cursul informatiilor. Sunt si cazuri in care nu se genereaza niciun feedback vizibil, poate sa fie dificila detectarea in timpul unui test de tipul blackbox.

Good to know! Intrucat majoritatea atacurilor cibernetice se fac in mod automat, acestea pot targeta orice tip de site web, indiferent de marimea acestuia. Chiar si site-urile web de dimensiuni mari si care sunt populare, precum Sony pot fi finta unui astfel de atac.

Exploatabilitate

Forma Injection de atac cibernetic, cuprinde o gama variata, care difera de la un caz la altul. Dar, in general, un atac SQL Injection clasic, este chiar usor de realizat, motiv pentru care aproape oricine il poate desfasura.

Acesta este si unul dintre motivele pentru care, SQL Injection, este unul dintre cele mai raspandite atacuri cibernetice. De asemenea, este si un motiv in plus, pentru care e necesar sa iti securizezi aplicatia web cat de puternic posibil si sa fii mereu la curent cu noile informatii care apar despre securizare.

Daca iti doresti sa inveti cum sa iti protejezi mai bine aplicatia web, sau cum sa descoperi daca un atac cibernetic incepe sa se desfasoare, gasesti datele mele de contact aici!

Ce este CSRF?

Cunosti termenul CSRF? Iti doresti sa afli mai multe informatii despre CSFR?

Atacurile cibernetice sunt tot mai des intalnite, motiv pentru care e important sa fii la curent cu toate informatiile relevante in acest sens. Deoarece, avand un site WordPress, fie personal sau business, ai increderea vizitatorilor, dar si a clientilor, si mai mult decat atat, site-ul tau cu siguranta contine si informatii relevante pentru care ai o responsabilitate.

Informatii si date care pot fi furate de catre hackeri, iar tu ca si proprietar de site WordPress ai responsabilitatea de a asigura siguranta pentru vizitatori si clienti, chiar si atunci cand tinta nu este site-ul tau.

Exista mai multe tipuri de atacuri cibernetice, in functie de ce anume se cauta. In cazurile in care, site-ul tau WordPress nu este tinta, fara o securizare solida, atacul poate fi asupra vizitatorilor si clientilor tai.

Ce este CSRF?

CSRF este un acronim pentru Cross-Site Request Forgery. Se refera la procesul prin care atacatorul are posibilitatea de a face solicitari in numele unui utilizator. Atacatorul, deobicei profita de avantajul faptului ca utilizatorul este deja autentificat, desi in majoritatea cazurilor, pentru acest tip de atac nici nu e nevoie de autentificare.

Focusul este pe trimiterea solicitarilor, iar atacatorul nu poate citi raspunsul astfel incat nu e de interes fortarea victimei de a-si recupera informatiile. Acest tip de atac se concentreaza pe solicitarile in stadiul de procesare.

Extindere CSRF

In 2010, CSRF s-a aflat pe locul 5 pe lista cu cele mai importante vulnerabilitati. In 2013, s-a refacut statistica, iar CSRF a cazut pe locul 8, in timp ce, ca si extindere a fost schimbat de la larg-raspandit la des intalnit.

Aceasta scadere se datoreaza faptului ca atat framework-urile cat si plugin-urile au fost realizate mai bine pentru o protejare cat mai solida impotriva acestor tipuri de atacuri, dar si oamenii au inceput sa fie mai constienti. Totusi, este o vulnerabilitate des intalnita, chiar si in cadrul companiilor mari.

Un nou loc in care CSRF a inceput sa apara, este in cadrul apelurilor API. Sunt tot mai populare situatiile in care solicitarile sunt facute prin API, in locul solicitarilor normale; motiv pentru care ca si programator web e important sa iti aduci aminte de necesitatea token-urilor.

Impact potential

Acest tip de atac se poate realiza atat asupra utilizatorilor, cat si asupra administratorilor site-urilor. In cazul in care tinta este utilizatorul, un atac realizat cu succes poate duce la mai multe tipuri de solicitari in stadiu de procesare, de la transferul unor fonduri pana la schimbarea informatiilor personale sau modificarea anumitor setari.

Toate acestea ar putea rezulta pe mai departe cu preluarea intregului sistem si site web.

Exploatabilitate

Utilizatorul ar trebui sa dea click pe un link sau sa viziteze o pagina cu link-ul incorporat, care ar putea putea sa fie o eticheta img.

Acest lucru se poate realiza prin atacul cibernetic a unui site pe care atacatorul stie ca utilizatorul il va vizita, dupa care va MITMing/ ataca utilizatorul si ii va trimite un email in care va incerca sa il insele pe utilizatorul sa dea click unui link.

Cum poti descoperi un CSRF

Uita-te dupa orice link, formular sau apel API caruia ii lipseste securizarea sau un token CSRF.

Avand in vedere, ca exista multe conceptii gresite in ceea ce priveste securizarea unui site web, in care chiar si programatorii web pot cada. De aceea e indicat sa verifici si sa te uiti in sectiunea de Remediation pentru exemple in care securizarea nu este completa.

Pentru a intelege mai bine, uite un exemplu de aplicatie vulnerabila. Sa presupunem ca este interfata unei banci si arata asa:

<form action=”send.php” method=”get”>
<input name=”amount” placeholder=”Amount”>
<input name=”account” placeholder=”Destination”>
<input type=”submit” value=”Transfer”>
</form>

O solicitare pentru a trimite o anumita suma intr-un anumit cont ar arata:

https://example.com/send.php?amount=10&account=1234

In care se poate observa ca nu exista niciun mecanism de securitate si niciun token. Iar in momentul in care utilizatorul ar apasa click pe link, suma trecuta (10) s-ar transfera imediat catre respectivul cont (1234).

Daca iti doresti sa inveti cum sa iti securizezi site-ul web, sa inveti programare web de la zero, si nu numai, alaturat gasesti datele mele de contact!

Securizeaza site-ul tau PHP

Ai un site PHP? Te intereseaza modalitatile prin care il poti securiza?

Indiferent de tipul site-ului pe care il detii, de informatiile pe care le contine, sau de scopul acestuia, securizarea este una dintre cele mai importante aspecte.

Atat informatiile tale, cat si cele ale clientilor si vizitatorilor tai, odata ajunse in mediul virtual, sunt vulnerabile, iar pentru a-ti mentine business-ul, e responsabilitatea ta sa asiguri publicului virtual siguranta.

Descriere

De la an la an, limbajul de programare PHP creste, chiar mai repede decat domeniul ingineriei. Asadar, era foarte usor si obisnuit sa scrii aplicatii PHP nesigure. In cazul in care telul tau este sa folosesti limbajul PHP, e necesar si important sa ii cunosti toate capcanele.

A avea un site compromis, poate avea mai multe dezavantaje, iar unele dintre cele care te vor afecta cel mai mult vor fi:

  • O reputatie deteriorata;
  • Pierderi in venituri;
  • Date sau informatii furate.

Iar pe langa cele mentionate, e nevoie sa te gandesti si la costurile ce implica repararea problemei si timpul si efortul investite.  

Securitatea unui site PHP nu trebuie sa fie atat de dificila; iar cu anumite cunostinte ale pasilor ce urmeaza a fi facuti, dar si a riscurilor, e posibil sa poti preveni 99% din toate atacurile cibernetice posibile.

Care sunt cerintele?

Pentru a putea invata cum sa iti securizezi site-ul PHP e nevoie de bunavointa pentru a invata idei si concepte noi. De asemenea, o intelegere de baza in HTML si PHP s-ar putea sa iti fie de mare ajutor.

Ce inveti dintr-un astfel de curs?

Upa absolvirea unui astfel de curs, vei putea sa identifici si sa diferentiezi un posibil risc, sa iti maresti grupul si cunostintele pe diferite concepte ale PHP Security. Totodata, vei invata ce fel de riscuri sunt si vei obtine o lamurire a ceea ce inseamna masuri de securizare si cum sunt implementate.

Daca iti doresti sa inveti cum sa securizezi un site PHP, dar nu numai, aici gasesti datele mele de contact!

4 Pasi pentru a proteja site-ul WordPress de content editor

Te intereseaza metodele prin care poti proteja site-ul WordPress de modificari neprevazute?

Ca si programator web, ai de transformat cerintele clientilor in realitate, in ceea ce priveste partea tehnologica. Fie ca vorbim de site-uri WordPress sau aplicatii tu esti esti persoana care stie ce mersul lucrurilor.

In momentul predarii proiectului, datorita lipsei de experienta in domeniu, clientii pot accesa si modifica continutul sau anumite parti, din greseala. Desigur, totul se poate remedia, insa, daunele pot impiedica site-ul WordPress sa nu mai functioneze pentru o anumita perioada.

Pentru a evita acest tip de situatii, e indicat sa protejezi site-ul WordPress, prin anumite comenzi si sa le limitezi accesul doar la ce este absolut necesar.

Limiteaza partea de editor text si vizual

In mod implicit, editorul WYSIWYG al WordPress-ului, suporta multe optiuni de formatare pentru teme personalizate. E cea mai simpla modalitate prin care clientii au acces la schimbari precum marimea fontului si culoarea textului; lucruri care nu par sa fie un deranj prea mare, dar care pot transforma un site bine facut intr-unul care nu va mai arata bine.

In majoritatea situatiilor de acest fel, poti dezactiva de tot editorul vizual. Pentru a realiza aceasta, adauga codul in fisierul functions.php al temei.

function my_disable_visual_editor(){
   # add logic here if you want to permit it selectively
   return false;
}
add_filter('user_can_richedit' , 'my_disable_visual_editor', 10);

 

De asemenea, clientii tind sa foloseasca in exces si butoanele de italic si bold, dar si in aceasta privinta exista solutii:

# Removes bold and italic quicktags from text editor
function my_quicktags_settings( $qtInit  ) {
   //To disable ALL butons it must be set to "," (not "")
   $qtInit['buttons'] = 'more,';
   return $qtInit;
}
add_filter('quicktags_settings', 'my_quicktags_settings');

 

O alta parte consta in dezactivarea butoanelor din editorul vizual. Sigur ca, sunt situatii in care, daca anumite articole sunt mai lungi, e nevoie de subtitluri, bullet points si alte. In acest caz, poti sa personalizezi clase pentru subsectiuni, iar dupa sa dezactivezi celelalte butoane care nu sunt de folos:

# Remove visual editor buttons
function my_tinymce_buttons($buttons)
{
   # Remove the text color selector
   $remove = array('wp_adv'); //Add other button names to this array
   # Find the array key and then unset
   return array_diff($buttons,$remove);
}
add_filter(
   'mce_buttons',
   'my_tinymce_buttons'
);

Dezactiveaza editorul tema si plugin-urile

Deoarece majoritatea clientilor nu au cunostinte in web development, nu cunosc importanta fiecarui caracter, chiar si o virgula poate influenta buna functionare a site-ului WordPress. Mai mult, e o cale usoara pe care hackerii o pot exploata.

Totusi, exista o solutie simpla pentru a evita astfel de situatii: adaugarea urmatorului cod in fisierul wp-config.php:

define( ‘DISALLOW_FILE_EDIT’, true );

Pentru mai multa siguranta, acesta dezactiveaza si editorul de plugin.

Dezactiveaza optiunile de personalizare a temei

Fiecare tema WordPress e construita in propriul mod, motiv pentru care, anumite optiuni sunt neadecvate. Pentru a te asigura ca fiecare tema functioneaza corespunzator, din fisierul functions.php:

# Remove customizer options.
function my_remove_customizer_options( $wp_customize ) {
   // $wp_customize->remove_section( 'static_front_page' );
   // $wp_customize->remove_section( 'title_tagline' );
   $wp_customize->remove_section( 'colors' );
   $wp_customize->remove_section( 'header_image' );
   $wp_customize->remove_section( 'background_image' );
   // $wp_customize->remove_section( 'nav' );
   // $wp_customize->remove_section( 'themes' );
   // $wp_customize->remove_section( 'featured_content' );
   // $wp_customize->remove_panel( 'widgets' );
}
add_action( 'customize_register',
           'my_remove_customizer_options',
           30);

 

Elimina butonul de “Adauga media”

Butonul de adaugare media apare in mod implicit, in momentul in care tipul de postare personalizata suporta caracteristica editorului.

Desi, postarile personalizate sunt utilizate in diferite scopuri, acest camp nu ar trebui sa includa imagini.

In schimb, una dintre cele mai folosite optiuni pentru a integra imagini in text, este cea de featured images sau thumbnails. Astfel, devine mai usor sa integrezi imaginile in sabloanele temelor.

# Remove media buttons
function my_remove_add_media(){
   # do this conditionally if you want to be more selective
   remove_action( 'media_buttons', 'media_buttons' );
}
add_action('admin_head', 'my_remove_add_media');

Daca doresti sa elimini butonul de media doar anumitor postari, poti adauga cuvantul logic inainte de remove_action().

Daca iti doresti sa inveti cum sa devii programator web sau WordPress, alaturat gasesti datele mele de contact!