ACCES INTERZIS | blog de programare si securitate IT




 04 2010 @ 18:54 

Un website (website de prezentare, blog, forum, magazin online, portal) este alcatuit din doua parti:

  • frontend – este  partea publica a unui website unde se gaseste tot continutul lui (text, imagini, video, animatii Flash). Frontend-ul este destinat vizitatorilor. De exemplu, frontend-ul unui website de prezentare al unei firme este constituit din toate paginile sale cum ar fi pagina “Despre” (unde firma prezinta istoricul firmei si profilul de activitate al firmei), pagina “Portofoliu” (unde firma prezinta lucrarile realizate si proiectele in curs de realizare), pagina “Galerie” (unde vizitatorul gaseste o galerie de imagini cu produsele firmei), pagina “Contact” (unde vizitatorul poate intra in legatura cu detinatorii firmei) s.a.m.d..
  • backend – este partea cu acces restrictionat din spatele websiteului pe care numai un numar limitat de utilizatori o pot accesa pe baza unei autentificari. Din backend se administreaza continutul de pe frontend si chiar se pot face modificari asupra designului, structurii si functionalitatii frontend-ului in sine. Spre deosebire de frontend, backend-ul nu trebuie sa fie indexat de motoarele de cautare (Google, Yahoo, Bing, Ask.com etc.). Ca sa evitam acest lucru vom scrie in fisierul robots.txt din folderul radacina a websiteului urmatoarele linii:
    User-agent: *
    Disallow: /backend/
    

In loc de termenul backend se mai folosesc termenii sectiune de administrare si CMS (de la Content Managment System – in limba engleza, Sistem de gestionare a continutului). Cand intalnim unul din acesti termeni trebuie sa stim ca se face referire la unul si acelasi lucru.

Ca sa restrictionam accesul la sectiunea de administrare trebuie mai intai sa inregistram toti utilizatorii intr-o baza de date. Apoi cream un formular de autentificare a utilizatorilor sectiunii de administrare si un tabel, numit ai_authentication_logs, in care vom inregistra loguri despre autentificarile facute.

$q = "CREATE TABLE IF NOT EXISTS ai_authentication_logs(
		authentication_log_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
		username VARCHAR(30) NOT NULL,
		password VARCHAR(40) NOT NULL,
		server_authentication_date DATETIME NOT NULL,
		client_authentication_date DATETIME NOT NULL,
		ip VARCHAR(30) NOT NULL,
		browser_os VARCHAR(255) NOT NULL,
		screen_resolution VARCHAR(15) NOT NULL,
		status VARCHAR(10) NOT NULL,
		PRIMARY KEY(authentication_log_id))";

mysql_query($q) or die(mysql_error());

Citeste tot articolul »

Post to Twitter Publica acest articol pe Twitter

Publicat de: admin
Ultima modificare: 10, 2010, 15:59
Comentarii: 2
Etichete
Etichete: , , , ,
Categorii: programare
 02 2010 @ 14:56 

Prin ce se caracterizeaza acest formular de inregistrare a utilizatorilor?

  • scriptul PHP isi creeaza singur tabelul in care va stoca utilizatorii daca acesta nu exista in baza de date
  • toate datele introduse sunt validate server-side
  • scriptul verifica in baza de date daca exista deja numele de utilizator ales si adresa de email a noului utilizator
  • fiecare mesaj de eroare este personalizat pentru fiecare eroare in parte
  • campurile care contin date invalide sunt evidentiate
  • scriptul pastreaza datele introduse in campurile formularului atunci cand detecteaza o eroare
  • designul formularului este creat EXCLUSIV din CSS
  • de protectie antispam nu avem nevoie deoarece se presupune ca formularul de inregistrare se afla in interiorul unei sectiuni de administrare

Citeste tot articolul »

Post to Twitter Publica acest articol pe Twitter

Publicat de: admin
Ultima modificare: 10, 2010, 16:00
Comentarii: 1
Etichete
Etichete: , , ,
Categorii: programare
 01 2010 @ 21:34 

Prin ce se caracterizeaza acest formular de comentarii?

  • scriptul PHP isi creeaza singur tabelul in care va stoca comentariile daca acesta nu exista in baza de date (deci mai putina munca in phpmyadmin)
  • protectie antispam 100% datorita sistemului CAPTCHA integrat
  • toate datele introduse sunt validate server-side (nu bag mana in foc caci inca nu sunt doxa de programare, dar cred ca este securizat destul ca sa nu execute vreun rau-voitor o injectie sql)
  • evidentierea campurilor care contin date invalide
  • pastrarea datelor in campuri atunci cand scriptul detecteaza o eroare
  • background-ul fiecarui comentariu alterneaza de la un comentariu la altul pentru o mai buna vizualizare a comentariilor
  • designul formularului este creat EXCLUSIV din CSS

Citeste tot articolul »

Post to Twitter Publica acest articol pe Twitter

Publicat de: admin
Ultima modificare: 10, 2010, 19:43
Comentarii: 1
Etichete
Etichete: , , ,
Categorii: programare
 22 Feb 2010 @ 17:32 

Scriptul PHP de mai jos iti permite sa te conectezi la o baza de date MySQL.

<?php
define('SQL_HOST', 'localhost');
define('SQL_USER', 'username');
define('SQL_PASS', 'password');
define('SQL_DB', 'database name');

@mysql_connect(SQL_HOST, SQL_USER, SQL_PASS) or die('Nu ma pot conecta la serverul MySQL!');
@mysql_select_db(SQL_DB) or die('Nu ma pot conecta la baza de date!');
?>

De obicei, acest script este un fisier include care este apelat, de cele mai multe ori deasupra DOCTYPE-ului, de fiecare data cand o pagina web trebuie sa se coneteze la o baza de date.

<?php include("includes/connect_to_db.inc.php"); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Post to Twitter Publica acest articol pe Twitter

Publicat de: admin
Ultima modificare: 08, 2010, 07:28
Comentarii: 0
Etichete
Etichete: , ,
Categorii: programare