📑 Cele mai noi postari
⊞
- Stefanescu Mihai a postat in Paginare in PHP
- johhny a postat in Paginare in PHP
- Stefanescu Mihai a postat in Cum pot afisa eroarea cand utilizatorul a scris un username gresit sau o parola gresita?
- madalin a postat in Cum pot afisa eroarea cand utilizatorul a scris un username gresit sau o parola gresita?
- Stefanescu Mihai a postat in Featureuri site
Security |
Stefanescu Mihai |
2026-06-01
Am gasit primul meu XSS intr-un proiect vechi de-al meu. Un camp de cautare care afisa inapoi ce ai cautat. Simplu. Inofensiv. Sau asa credeam.echo "Ai cautat: " . $_GET['q'];Cineva putea accesa `https://site.ro/search?q=<script>alert('XSS')</script>` si browser-ul executa codul. De acol...
Am gasit primul meu XSS intr-un proiect vechi de-al meu. Un camp de cautare care afisa inapoi ce ai cautat. Simplu. Inofensiv. Sau asa credeam.echo "Ai cautat: " . $_GET['q'];Cineva putea accesa `https://site.ro/search?q=<script>alert('XSS')</script>` si browser-ul executa codul. De acol...
Linux |
Stefanescu Mihai |
2026-05-29
Terminale deschise: de obicei 4-5 simultan. Nu pentru că e cool, ci pentru că fiecare face ceva diferit — una urmărește log-urile live, una e conectată via SSH la server, una rulează teste, alta e în directorul proiectului. Am ajuns să lucrez mai repede în terminal decât în orice interf...
Terminale deschise: de obicei 4-5 simultan. Nu pentru că e cool, ci pentru că fiecare face ceva diferit — una urmărește log-urile live, una e conectată via SSH la server, una rulează teste, alta e în directorul proiectului. Am ajuns să lucrez mai repede în terminal decât în orice interf...
iNoob |
Stefanescu Mihai |
2026-05-26
Acum cativa ani, instalarea unei librarii PHP insemna sa descarci un zip, sa dezarhivezi fisierele in proiect si sa faci `require_once` manual. Daca libraria respectiva depindea de alta librarie, o luai de la capat. Era un dezastru. Apoi am descoperit Composer si viata s-a schimbat.Ce este Composer?...
Acum cativa ani, instalarea unei librarii PHP insemna sa descarci un zip, sa dezarhivezi fisierele in proiect si sa faci `require_once` manual. Daca libraria respectiva depindea de alta librarie, o luai de la capat. Era un dezastru. Apoi am descoperit Composer si viata s-a schimbat.Ce este Composer?...
iNoob |
Stefanescu Mihai |
2024-01-21
La scurt timp dupa ce am facut site-ul asta mi-am dat seama ca am o problema, ca apar multe comentarii SPAM, atat de multe incat este destul de greu sa le administrezi manual.Usor usor am inceput sa fac diversi pasi pentru a scapa de tot acest spam, am pus honeybot pe formular, am creat semnaturi (f...
La scurt timp dupa ce am facut site-ul asta mi-am dat seama ca am o problema, ca apar multe comentarii SPAM, atat de multe incat este destul de greu sa le administrezi manual.Usor usor am inceput sa fac diversi pasi pentru a scapa de tot acest spam, am pus honeybot pe formular, am creat semnaturi (f...
Laravel |
Stefanescu Mihai |
2024-01-12
In acest articol o sa vorbim despre gates si policies. In laravel, ca in orice alt framework web trebuie sa fim atenti la partea de securitate si autorizare. Ce este un Gate in Laravel?Un gate este o functie ce defineste un set de permisiuni pentru o resursa data. Un gate este folosit pentru a ...
In acest articol o sa vorbim despre gates si policies. In laravel, ca in orice alt framework web trebuie sa fim atenti la partea de securitate si autorizare. Ce este un Gate in Laravel?Un gate este o functie ce defineste un set de permisiuni pentru o resursa data. Un gate este folosit pentru a ...
Security |
Stefanescu Mihai |
2023-02-12
Browser fingerprinting este o metoda de a te identifica pe tine ca utilizator si poate colectiona date despre tine. In acest articol o sa discutam despre browser fingerprinting si cum functioneaza, dar mai ales o sa discutam de modul in care te poti proteja. La prima vedere Ai auzit acest term...
Browser fingerprinting este o metoda de a te identifica pe tine ca utilizator si poate colectiona date despre tine. In acest articol o sa discutam despre browser fingerprinting si cum functioneaza, dar mai ales o sa discutam de modul in care te poti proteja. La prima vedere Ai auzit acest term...
Linux |
Stefanescu Mihai |
2023-02-11
Un desktop environment de linux este o colectie de aplicatii ce compun o interfata grafica (GUI) pentru a interactiona cu sistemul de operare. Desi majoritatea software-ului pe care il intalnim zi de zi este scris sub forma de monolit, mai ales in cazul unui sistem de operare sau a unui kernel, c...
Un desktop environment de linux este o colectie de aplicatii ce compun o interfata grafica (GUI) pentru a interactiona cu sistemul de operare. Desi majoritatea software-ului pe care il intalnim zi de zi este scris sub forma de monolit, mai ales in cazul unui sistem de operare sau a unui kernel, c...
Design Patterns |
Stefanescu Mihai |
2023-02-10
Design pattern-ul Data Mapper este un design folosit pentru a separa in 2 niveluri datele si logica de business a aplicatiei. Acest pattern este des folosit in sistemele de tip object relational mapping (ORM). In acest pattern, datele sunt transferate intre obiecte in aplicatie, tinandu-se pe obi...
Design pattern-ul Data Mapper este un design folosit pentru a separa in 2 niveluri datele si logica de business a aplicatiei. Acest pattern este des folosit in sistemele de tip object relational mapping (ORM). In acest pattern, datele sunt transferate intre obiecte in aplicatie, tinandu-se pe obi...
Design Patterns |
Stefanescu Mihai |
2023-02-09
Design pattern-ul Active Record este un design pattern des intalnit in programarea orientata pe obiecte pentru crearea, citirea, modificarea si stergerea datelor din baza de date. In acest pattern, fiecare inregistrare din baza de date este reprezentata de un obiect, iar metodele de pe acest obie...
Design pattern-ul Active Record este un design pattern des intalnit in programarea orientata pe obiecte pentru crearea, citirea, modificarea si stergerea datelor din baza de date. In acest pattern, fiecare inregistrare din baza de date este reprezentata de un obiect, iar metodele de pe acest obie...
Design Patterns |
Stefanescu Mihai |
2023-02-07
Acest deisgn pattern, optimistic offline lock este o tehnica de a manageui acces-ul concurent la datele comune intr-un sistem distribuit. Acest pattern se bazeaza pe presupunerea ca conflictele intre update-uri vor fi rare, iar majoritatea update-urilor pot fi rezolvate fara conflicte. Ideea din...
Acest deisgn pattern, optimistic offline lock este o tehnica de a manageui acces-ul concurent la datele comune intr-un sistem distribuit. Acest pattern se bazeaza pe presupunerea ca conflictele intre update-uri vor fi rare, iar majoritatea update-urilor pot fi rezolvate fara conflicte. Ideea din...
Design Patterns |
Stefanescu Mihai |
2023-01-15
Acest pattern, association table mapping este un mod de a crea o relatie de tip many-to-many intre entitatile unei baze de date. Se foloseste in momentul in care ai 2 entitati intre care trebuie sa existe o relatie de tip many-to-many. In loc sa adaugam mai multe coloane pentru cele 2 entitati, face...
Acest pattern, association table mapping este un mod de a crea o relatie de tip many-to-many intre entitatile unei baze de date. Se foloseste in momentul in care ai 2 entitati intre care trebuie sa existe o relatie de tip many-to-many. In loc sa adaugam mai multe coloane pentru cele 2 entitati, face...
Design Patterns |
Stefanescu Mihai |
2023-01-15
Design pattern-ul Serialized LOB (Large Object) este un pattern menit pentru stocarea obiectelor binare mari (BLOB) in baza de date. In loc sa salvam datele BLOB direct in baza de date, acest pattern ne indeamna sa stocam aceste informatii intr-un sistem de storage diferit, de exemplu am putea sa le...
Design pattern-ul Serialized LOB (Large Object) este un pattern menit pentru stocarea obiectelor binare mari (BLOB) in baza de date. In loc sa salvam datele BLOB direct in baza de date, acest pattern ne indeamna sa stocam aceste informatii intr-un sistem de storage diferit, de exemplu am putea sa le...
Clean Code |
Stefanescu Mihai |
2022-12-11
Atat timp cat scriem cod in mod profesional, metricile sunt foarte importante pentru a determina daca scriem cod de calitate ce este usor de testat, inteles si intretinut pe termen lung. Cum fiecare dezvoltator are stilul lui de a scrie devine important sa setam un standard dupa care sa masuram daca...
Atat timp cat scriem cod in mod profesional, metricile sunt foarte importante pentru a determina daca scriem cod de calitate ce este usor de testat, inteles si intretinut pe termen lung. Cum fiecare dezvoltator are stilul lui de a scrie devine important sa setam un standard dupa care sa masuram daca...
Linux |
Stefanescu Mihai |
2022-12-11
Exista mai multe comenzi periculoase pe care un utilizator le poate scrie in terminal si sa ii provoace un crash sau poate chiar mai rau, sa strice lucrurile. Acestea fiind zise, cred ca este o idee buna sa povestesc despre anumite comenzi periculoase astfel incat sa le cunoasteti si sa nu le rul...
Exista mai multe comenzi periculoase pe care un utilizator le poate scrie in terminal si sa ii provoace un crash sau poate chiar mai rau, sa strice lucrurile. Acestea fiind zise, cred ca este o idee buna sa povestesc despre anumite comenzi periculoase astfel incat sa le cunoasteti si sa nu le rul...
iNoob |
Stefanescu Mihai |
2022-12-10
Tool-urile de build au ajuns sa fie o parte foarte importanta a dezvoltarii web, unul dintre motive fiind complixitatea din ce in ce mai mare a aplicatiilor JavaScript. Bundler-urile ne permit sa "impachetam", compilam si sa organizam asset-urile si librariile necesare unei aplicatii web. ...
Tool-urile de build au ajuns sa fie o parte foarte importanta a dezvoltarii web, unul dintre motive fiind complixitatea din ce in ce mai mare a aplicatiilor JavaScript. Bundler-urile ne permit sa "impachetam", compilam si sa organizam asset-urile si librariile necesare unei aplicatii web. ...
🔖 Bookmarks
⊞
✨ Pentru a sustine aceasta comunitate am sa te rog sa te autentifici sau sa te inregistrezi!
🌪️ Discord
⊞
😎 Prieteni
⊞