Jump to content

joe_capitano

Active Members
  • Posts

    65
  • Joined

  • Last visited

    Never

Everything posted by joe_capitano

  1. http://rapidshare.de/files/21718401/Avast.Professional.v4.6.731.by.joe.capitano.zip.html Password : hackerzone Inca un share pus la dispozitie de joe_capitano!
  2. In mod normal, o variabila locala declarata intr-o pagina .php este valabila doar in acea pagina, daca nu intervenim intr-un fel pentru a o transfera si pe alte pagini unde avem nevoie de ea. Modalitatile de pastrare a informatiilor pe tot parcursul aplicatiei sunt: - variabile globale - sesiuni - cookies - transferul variabilelor locale prin forme sau in header-ul unei alte pagini Ce este o sesiune? O sesiune reprezinta una din caile de a pastra datele de lucru ale unei aplicatii atunci cand se face transferul de la o pagina la alta. PHP foloseste in mod nativ sesiuni, asa cum fac si limbajele ASP si ColdFusion. Lucrul cu sesiuni nu este complicat. Fiecare sesiune trebuie declarata la inceputul paginii, cu ajutorul functiei: start_session(); Aceasta functie face ca PHP sa inregistreze un identificator unic al sesiunii (ID), iar acel identificator este trimis utilizatorului printr-un cookie. Totodata, pe server se creaza un fisier care va retine valorile variabilelor folosite in aceasta sesiune. Fisierul are numele la fel cu identificatorul ID al sesiunii. Apoi trebuie declarata variabila (sau variabilele) cu care lucram in cadrul acestei sesiuni. Pot fi create oricate variabile. session_register('sesiunea_mea'); Variabila $sesiunea_mea poate fi o variabila simpla sau un tablou (array). Exemplu: $sesiunea_mea = "Lucian"; // variabila simpla sau $sesiunea_mea["id wrote: = 1; // cazul unui array $sesiunea_mea["nume_utilizator wrote: = "Lucian"; $sesiunea_mea["adresa wrote: = "Str.Florilor nr.14"; // etc. Variabilele definite in acest mod pot fi folosite pe toate paginile unei aplicatii, definite pe un domeniu dat, atat timp cat cookie alocat acelei sesiuni este activ (nu expira). Folosirea sesiunilor este o cale mult mai usoara de lucru decat sa transferam variabilele de la pagina la pagina. In php.ini pot fi setate diferite valori pentru parametri legati de sesiune cum ar fi (dupa semnul egal am pus valorile implicite) : session.cookie_path = "/"; session.cookie_domain = ""; session.cookie_lifetime = "0"; // valoarea 0 inseamna ca cookie pentru sesiune e valabila pana cand browserul se va inchide. session.name = "PHPSESSID"; si altele . Exista posibilitatea ca un utilizator sa nu accepte setarea de cookies pe computerul sau. In acest caz, pentru identificarea unei sesiuni se poate folosi identificatorul acesteia. Putem adauga acest identificator in stringul care apleaza o pagina: <a href = "pagina_mea.php?<?=SID?">Click catre pagina mea</a> <?= este un mod mai scurt de a scrie comanda echo. <?= se poate folosi cu orice variabila, nu doar cu sesiuni. Un identificator PHPSESSID arata ca o insirurire aleatoare de caractere alfanumerice: PHPSESSID = 02993ab99sac988da9753330af72201 Daca PHP este compilat cu optiunea enable-trans-id, atunci identificatorul sesiunii este adaugat automat la fiecare pagina. Iata un exemplu de definire al unei sesiuni: <? session_start(); session_register("variabila_mea"); $variabila_mea = "Aceasta este cursul online de PHP"; ?> $variabila_mea va putea fi folosita apoi pe toate paginile aplicatiei respective. Observatie importanta: Variabilele definite in sesiuni pot fi folosite intr-o pagina doar dupa ce a fost executata comada session_start(); Aceasta comanda ii spune PHP-ului sa verifice daca exista o sesiune si atunci sa foloseasca variabilele acelei sesiuni ca variabile globale. Functiile session_start(), ca si setcookie() trebuie folosite intotdeauna chiar la inceputul fisierului . Daca se trimite altceva catre browser inainte de folosirea lor atunci vor exista erori la folosirea sesiunii sau a cookie-urilor.
  3. O clasa este o colectie de variabile si functii care opereaza asupra variabilelor respective. Sintaxa folosita pentru declararea unei clase in PHP este: class nume_clasa { // date membre var nume_variabila_1 ... var nume_variabila_m // metode function nume_functie_1 (parametri) { ... // definitia functiei } ... function nume_functie_n (parametri) { ... // definirea functiei } } Pentru numele unei clase poate fi utilizat orice identificator permis in PHP cu o singura exceptie: sdtclass; acest identificator este folosit de PHP in scopuri interne. In PHP functiile ale caror identificatori incep cu '_' sunt considerate functii magice si utilizarea acestora nu este recomandata. In PHP, datele membre nu pot fi initializate decat cu valori constante. Pentru a initializa variabilele cu valori care nu sunt constante trebuie folosit un constructor. Mai jos aveti exemple de clasa in care initializarile nu sunt corecte: class Nepermis { var $data = date ("Y-m-d"); var $nume = $prenume; var $dest = 'Mihai '. 'Claudiu'; var $obiecte = array ("minge", "pantof"); Obiecte In PHP clasele sunt considerate a fi tipuri de date; ele pot fi privite ca fiind "amprentele" variabilelor propriu-zise. Pentru a crea o variabila al carei tip este o clasa trebuie utilizat operatorul new. In continuare vom defini o clasa Aritmetica cu doua date membre x si y care sunt numere intregi si doua metode care realizeaza adunarea, respectiv inmultirea lor. class Aritmetica { var x = 2; var y = 3; function Suma ( ) { return $this -> x + $this -> y; } function Produs ( ) { return $this -> x * $this -> y; } } Pentru a crea un obiect de tipul Aritmetica vom utiliza o instructiune de tipul: $aritm = new Aritmetica; Acum putem utiliza metodele clasei; pentru a afisa suma sau produsul celor doua numere vom putea apela cele doua metode astfel: echo $aritm -> Suma ( ); echo $aritm -> Produs ( ); Vom obtine rezultatele 5, respectiv 6. Valorile datelor membre pot fi si ele modificate prin instructiuni de tipul: $aritm -> x = 5; $aritm -> y = 4; Daca, in urma modificarii apelam din nou metodele Suma 9 ) si Produs ( ), rezultatele vor fi 9, respectiv 20. Exemplu Rezultat <?php class PHP4 { var $salut = "Salut Hackerzone"; function Salut ( ) { return $this -> salut; } } $salutare = new Hackerzone; echo $salutare -> Salut( )." "; ?> Salut Hackerzone! In acest exemplu a fost utilizata pseudo-variabila $this. Aceasta este folosita pentru a indica faptul ca se opereaza asupra unei date membre a obiectului curent. Extinderea claselor Deseori este necesara definirea unor clase cu proprietati (date membre) si metode asemanatoare. Pentru a usura definirea unor astfel de clase a fost introdus conceptul de extindere (derivare) a claselor. O clasa derivata va pastra toate proprietatile si metodele clasei pe care o extinde si poate contine diferite proprietati si metode noi. Nu exista nici o posibilitate de a elimina din clasa derivata anumite proprietati sau metode ale clasei de baza. O anumita clasa poate avea o singura clasa parinte Clasa pe care o extinde o clasa derivata poarta denumirea de clasa de baza sau clasa parinte.; asadar, in PHP nu este permisa mostenirea Pastrarea de catre clasa extinsa a metodelor si proprietatilor clasei din care este derivata poarta denumirea de mostenire. multipla. Pentru a extinde o anumita clasa se utilizeaza cuvantul cheie extends. In urmatorul exemplu vom extinde clasa Aritmetica; vom adauga inca o variabila si vom crea doua noi functii: una pentru calculul sumei celor trei variabile si una pentru calcularea produsului lor: class Aritmetica3 extends Aritmetica { var z = 4; function Suma3 ( ) { return $this -> x + $this -> y + $this -> z; } function Produs3 ( ) { return $this -> x * $this -> y * $this -> z; } } Daca definim un obiect prin intermediul unei instructiuni de genul: $aritm3 = new Aritmetica3; atunci pentru acest obiect vom putea utiliza atat metodele definite in cadrul clasei Aritmetica3: Suma3 ( ) si Produs3 ( ), cat si metodele definite in cadrul clasei de baza Aritmetica: Suma ( ) si Produs ( ). In continuare aveti un exemplu care ilustreaza modul in care pot fi create si utilizate clasele derivate. Exemplu Rezultat <?php class Aritmetica { var $x = 2; var $y = 3; function Suma ( ) { return $this -> x + $this -> y; } function Produs ( ) { return $this -> x * $this -> y; } } class Aritmetica3 extends Aritmetica { var $z = 4; function Suma3 ( ) { return $this -> x + $this -> y + $this -> z; } function Produs3 ( ) { return $this -> x * $this -> y * $this -> z; } } $aritm3 = new Aritmetica3; echo "Inainte de modificare:"; echo " "; echo "Suma primelor doua numere: "; echo $aritm3 -> Suma ( ) . " "; echo "Produsul primelor doua numere: "; echo $aritm3 -> Produs ( ) . " "; echo "Suma celor trei numere: "; echo $aritm3 ->Suma ( ) . " "; echo "Produsul celor trei numere: "; echo $aritm3 -> Produs ( ) . " "; $aritm3 -> x = 5; $aritm3 -> y = 4; $aritm3 -> z = 3; echo " "; echo "Dupa modificare: "; echo " "; echo "Suma primelor doua numere: "; echo $aritm3 -> Suma3 ( ) . " "; echo "Produsul primelor doua numere: "; echo $aritm3 -> Produs3 ( ) . " "; echo "Suma celor trei numere: "; echo $aritm3 -> Suma3 ( ) . " "; echo "Produsul celor trei numere: "; echo $aritm3 -> Produs3 ( ) . " "; ?> Inainte de modificare: Suma primelor doua numere: 5 Produsul primelor doua numere: 6 Suma celor trei numere: 5 Produsul celor trei numere: 6 Dupa modificare: Suma primelor doua numere: 12 Produsul primelor doua numere: 60 Suma celor trei numere: 12 Produsul celor trei numere: 60 In PHP clasele trebuie definite inaintea utilizarii lor; asadar clasa parinte va fi definita intotdeauna inaintea clasei fiu Relatia dintre o clasa derivata si clasa pe care o extinde poarta denumirea de relatie parinte - fiu.. Constructori Un constructor este o metoda (functie) a unei clase care este apelata automat in momentul in care este creata o noua instanta a clasei (cu ajutorul operatorului new). In PHP este considerata ca fiind un constructor orice functie care are acelasi nume cu clasa in interiorul careia este definita. Constructorii pot fi folositi pentru initializarea datelor membre cu valori care nu sunt constante. Ei pot avea argumente, iar acestea pot fi optionale. Pentru a putea utiliza clasa fara a specifica nici un parametru in momentul crearii unui obiect, se recomanda stabilirea unor valori implicite pentru toate argumentele constructorului. In cazul in care nu este definit un constructor pentru o anumita clasa, se utilizeaza constructorul clasei de baza, daca aceasta exista. De exemplu, pentru urmatoarea secventa de cod, in momentul crearii obiectului corespunzator variabilei $b, va fi apelat constructorul clasei A. class A { function A ( ) { echo "Constructorul clasei A "; } function B ( ) { echo "O functie obisnuita a clasei A. "; } } class B extends A { function C ( ) { echo "O functie obisnuita a clasei B. "; } } $b = new B; In PHP apelul constructorului clasei de baza trebuie sa fie explicit daca este necesara executarea operatiilor corespunzatoare. In majoritatea limbajelor de programare exista functii speciale numite destructori care sunt apelate automat in momentul "distrugerii" unui obiect. In PHP nu exista destructori. Operatorul :: Uneori este utila folosirea unor metode sau variabile ale clasei de baza sau ale unei clase care nu a fost instantiata inca. In acest scop a fost introdus operatorul ::. Pentru a descrie modul de utilizare al acestui operator vom prezenta mai intai un exemplu: class A { function exemplu ( ) { echo "Functia clasei de baza. "; } } class B extends A { function exemplu ( ) { echo "Functia redefinita n"; A :: exemplu ( ); } } A :: exemplu ( ); $b = new B; $b -> exemplu ( ); Prin intermediul instructiunii A :: exemplu ( ); este apelata metoda exemplu ( ) a clasei A, asadar se afiseaza mesajul 'Functia clasei de baza' cu toate ca nu exista nici un obiect care este o instanta a acestei clase, deci nu putem scrie o instructiune de tipul $a -> exemplu ( ); In schimb apelam metoda $b -> exemplu ( ); ca "o functie a clasei" si nu ca "o functie a unui obiect". Putem avea functii ale claselor, dar nu putem avea variabile ale claselor. De fapt, in momentul unui astfel de apel nu se creeaza nici un obiect care este instanta a clasei respective. Ca urmare, o functie a unei clase nu poate opera asupra unor proprietati ale clasei, dar poate utiliza variabile locale sau globale. In plus, o astfel de functie nu poate utiliza pseudo-variabila $this. In exemplul anterior, in cadrul clasei B este redefinita functia exemplu ( ). Asadar, definitia "originala" (din cadrul clasei A) nu poate fi accesata in interiorul clasei B decat daca ne referim la ea explicit prin intermediul operatorului ::. Accesarea clasei de baza In exemplul anterior am utilizat o functie a clasei de baza. In locul utilizarii denumirii clasei de baza poate fi folosita denumirea speciala parent care este o referinta la clasa de baza definita in cadrul constructiei extends. Folosirea denumirii speciale este utila in cazul in care ierarhia de clase se modifica. In acest caz este suficienta o singura modificare in cadrul constructiei extends, fara a mai fi necesare modificari in interiorul clasei derivate. Asadar, definitia clasei B poate fi rescrisa astfel: class B extends A { function exemplu ( ) { echo "Functia redefinita n"; parent :: exemplu ( ); } } Serializarea obiectelor Prin serializare se intelege crearea unui sir de octeti care contine reprezentarea interna (binara) a variabilei respective. Asadar, serializarea permite "salvarea" valorilor unei variabile. Daca este serializat un obiect sunt salvate doar proprietatile acestuia (variabilele membre) si numele clasei din care face parte, nu si metodele deoarece functiile nu reprezinta valori. Pentru a serializa un obiect este utilizata functia serialize ( ) care returneaza sirul de octeti care contine reprezentarea binara. Pentru a deserializa un obiect se foloseste functia pereche unserialize ( ). Pentru ca o astfel de operatie sa functioneze corect este necesara definirea clasei din care face parte obiectul respectiv. Functia returneaza valoarea variabilei serializate. In exemplul urmator aveti prezentat modul in care poate fi serializat si deserializat un obiect. sirul de octeti obtinut in urma serializarii va fi scris intr-un fisier si va fi citit din fisierul respectiv pentru efectuarea deserializarii. De obicei serializarea si deserializarea sunt realizate in documente php diferite deoarece aeste operatii nu au aproape nici o utilitate daca sunt folosite in cadrul aceluiasi document. Primul document in care se realizeaza serializarea trebuie sa contina o secventa asemanatoare cu urmatoarea: class A { var $msg = "Salutare lume"; function scrie ( ) { echo $this -> msg; } } $a = new A; $s = serialize ($a); // salvarea sirului intr-un fisier $fp = fopen ("fisier", "w"); fputs ($fp, $s); fclose ($fp); Pentru deserializare al doilea document va contine urmatoarea secventa: class A { var $msg = "Salutare lume"; function scrie ( ) { echo $this -> msg; } } // citirea sirului din fisier $s = implode ("", @file ("fisier")); $a = unserialize ($s); // dupa deserializare obiectul poate fi folosit $a -> show_one ( ); Referintele pot fi utilizate pentru a accesa continutul unei variabile folosind mai multe nume. Spre deosebire de limbajul C, in PHP referintele nu sunt pointeri, ci alias-uri intr-o tabela de simboluri. In PHP denumirile variabilelor si continutul acestora nu sunt unul si acelasi lucru. Asadar este posibil ca acelasi continut sa aiba denumiri diferite. Utilizarea referintelor Referintele PHP permit unor variabile cu denumiri diferite sa corespunda unui acelasi continut. Cu alte cuvinte, instructiunea $a = &$b are ca efect faptul ca $a si $b refera aceeasi variabila. In aceasta situatie $a si $b au acelasi statut. Nu se poate spune ca $a refera $b sau invers. O alta posibilitate de utilizare a referintelor este transmiterea prin referinta a parametrilor unei functii. Efectul unei astfel de transmisii este crearea unei variabile locale care refera spre acelasi continut ca variabila din contextul apelant. Sa luam in considerare urmatorul exemplu: function inc (&$var) { $var++ } $a = 5; inc ($a); Initial valoarea variabilei $a este 5. Dupa apel variabila locala $var si variabila din contextul apelant $a indica spre acelasi continut. Valoarea pastrata in locatia de memorie respectiva este incrementata (devine 6) prin intermediul instructiunii $var++;. Datorita faptului ca cele doua variabile au acelasi continut, valoarea variabilei $a va fi 6 dupa executarea functiei. Un parametru transmis prin referinta poate fi: - o variabila; - o instructiune new; - o referinta returnata de o functie. Daca unei astfel de functii i se transmite ca parametru un alt tip de expresie rezultatul este nedefinit. Asadar, pentru o functie care are un parametru transmis prin referinta nu se poate folosi o constanta in momentul apelului. De exemplu, pentru functia inc ( ) prezentata anterior nu este permis un apel de forma inc (5). Referinte globale In momentul declararii unei variabile globale (printr-o instructiune de tipul global $var) se creeaza de fapt o referinta spre o variabila globala. Cu alte cuvinte, aceasta instructiune este echivalenta cu $var = &$GLOBALS ["var wrote: ;. Referinta $this In cadrul unei metode a unui obiect $this este intotdeauna o referinta spre obiectul care utilizeaza functia (obiectul curent).
  4. Cum sa salvezi mail-urile dintr-un Outlook Express (Outlook Express) in altul ? Acest lucru nu se poate realiza "curat". Nu exista, ca la Outlook-ul din pachetele Office, o optiune de export to file. Nu se poate decat ca pe acelasi calculator sa se transmita aceste informatii catre Outlook sau catre Exchange. Ceea ce vom face noi va fi un fel de arhivare locala, dupa care fisierele rezultate vor fi "plantate" acolo un trebuie pe calculatorul tinta. Acesti pasi au fost realizati folosind urmatoarele configuratii: Calculator gazda - Windows 2000 Pro / Outlook Express 6. Calculatorul tinta - Windows XP Pro / Outlook Express 6. NU am incercat inca si in alte variante, dar o voi face si voi mentiona asta in viitor. Deocamdata presupun ca fara mari probleme se vor putea aplica si in alte cazuri aceleasi principii. Ideea este ca Outlook Express-ul verifica toate fisierele cu extensia aflate in directorul stiut de el. Dupa ce am salvat datele si am ajuns cu ele la calculatorul pe care urma sa le pun, am pornit Outlook Express-ul. Acesta era virgin (un program in care mana omului nu a pus niciodata piciorul). Primul lucru a fost sa gasesc acest director in care sa pun mailurile pt ca apoi sa le vada singur. Cel mai simplu de aflat unde isi tine Outlook Express-ul mailurile este sa il porniti si apoi sa creati un folder nou. Selectati-l si dati click cu butonul din dreapta apoi selectati Properties. La mine era: "C:Documents and SettingsTataLocal SettingsApplication DataIdentities{42C65FDF-7CBC-4E83-904E-A1ED1F12EA67}MicrosoftOutlook ExpressTest.dbx". Cu toate ca nu se vede toata calea decat atunci cand selectati cu mousul "in gol" e o varianta mai simpla ca aceea de a cauta prin registry. Cheia "Store Root" din registy avea urmatoarea valoare : "%UserProfile%Local SettingsApplication DataIdentities{42C65FDF-7CBC-4E83-904E-A1ED1F12EA67}MicrosoftOutlook Express". La voi ar trebui sa fie ceva asemanator. Ca sa o localizati puteti cauta Identities sau direct Store Root - dar vor fi mai multe in anumite cazuri. A.Salvarea Datelor. Pe calculatorul de unde vrei sa salvezi mailurile, deschizi Outlook Express. Din acest moment sunt mai multe decizii de luat: a.1. mailurile pe care le salvezi se afla intr-un folder care exista si in Outlook Express-ul unde vor ajunge ? si daca exista, vrei sa pastrezi sau nu mailurile aflate deja acolo ? a.1.1.Daca folderul exista si vrei sa pastrezi si acele mailuri, redenumeste-l pe cel din calculatorul ce contine mailurile pe care vrei sa le copiezi. Le poti apoi muta din folderul acesta la un loc cu cele pe care le-ai pastrat. Sau poti sa le lasi separat. a.1.2.Daca nu vrei sa pastrezi mailurile, mergi mai departe. Practic o sa inlocuiesti un folder cu altul. a.2.vrei sa salvezi toate mailurile (din toate folderele) sau vrei sa le salvezi doar pe cele dintr-un anumit folder ? a.2.1.Daca vrei numai anumite foldere, atunci o sa le compactezi separat si o sa copiezi (prin retea, pe cd, sau disketa) doar fisierele cu numele format din numele folderelor respective si extensia dbx. Compactarea se face selectand acel folder, apoi File->Folder->Compact. a.2.2.Daca le vrei pe toate, atunci comanda compact all e cea care iti va folosi. Compactarea se face prin File->Folder->Compact All. Acum ca ai salvat practic datele, nu trebuie decat sa cauti fisierle cu extensia dbx de pe hardul cu Windows-ul curent (in general e C) si sa le copiezi pe cele din directorul lui Outlook Express. In majoritatea cazurilor vor fi singurele. Si oricum se vor afla intr-un director ca cel mentionat la inceput. B.Copierea Datelor Cum faci efectiv (te aud) transferul pe calculatorul nou ? Iarasi e vorba de doua cazuri - unul in care nu te intereseaza ce e in Outlook Express-ul acela si este posibil sa inlocuiesti tot (sau sa il gasesti gol ca mine), sau sa fie nevoie de datele respective si atunci e putin mai complicat. Voi incepe cu varianta simpla in care poti sa stergi tot (sau sa inlocuiesti). Asta inseamna ca nu te intereseaza mailurile aflate in acel calculator. b.1. Poti sterge datele deja existente. Outlook Express-ul nu trebuie sa fie pornit cand faci urmatoarele modificari ! Nu trebuie decat sa gasesti directorul (folderul) cu mailurile despre care vorbeam la inceput si sa copiezi acolo fiserele dbx. Apoi poti sterge linistit fisierul "Folders.dbx". Acum poti porni Outlook Express-ul si ar trebui ca totul sa fie in regula. In partea de Foldere sa se afle si folderele salvate de tine si ele sa contina mailurile cu attachments cu tot. OBS. Este posibil ca pe un Windows curat pe care sa nu fi folosit nimeni Outlook Express-ul sa nu existe acel director. Este chiar foarte probabil. Si asta pentru ca acel director este creat in momentul in care este creata o identitate pt Outlook Express, Outlook sau Exchange. Pentru ca el sa fie creat faceti o identitate - poate fi fictiva, nu trebuie neaparat sa fie date reale, dar trebuie creat un cont de mail. Daca nu stiti cum, atunci rugati pe forum sa va explice cineva. Oricum o sa revin cu un tutorial in acest sens. b.2.Ai nevoie sa pastrezi datele vechi. b.2.1.Vrei sa creezi o noua identitate. Atunci cel mai bine este sa retii care sunt cele deja create. Gasesti directorul Identities si notezi codurile inainte sa creezi o noua identitate. Dupa ce ai creat-o te uiti care este codul nou creat si poti sa pui in el fisierele dbx ca in cazul in care putea sa stergi tot. Dar ai grija, sa fie directorul identitatii noi ! b.2.2.Folosesti o identitate veche. Daca e una singura, problema care se pune este ca fisierele dbx sa nu aibe acelasi nume. Daca au, redenumeste-l pe unul din ele (de preferat pe cel care vine cu mailurile). Apoi copiaza fisierele ca si mai sus. In final sterge fisielul Folders.dbx. b.2.3.Sunt mai multe identitati deja create si nu stii care e a ta?. Este simplu, faci un folder nou in Outlook Express cand esti logat cu acea identitate, ii dai un nume ciudat si te uiti in care din directoare a aparut un fisier cu numele respectiv. Atentie, daca ii dai rename, numele pe hard nu se schimba. Dupa ce ai gasit fisierul respectiv si implicit si directorul, citeste b.2.2. Dupa ce ai parcurs acesti pasi, ar trebui ca totul sa fie in regula. Daca intampini probleme, poti trimite oricand un mail la care iti vom raspunde cat de repede putem. Ce se poate intampla datorita faptului ca stergi fisierul Folders.dbx? In acest fisier este un fel de tabela in care fisierele dbx au un nume de "scena" (numele care apare in Outlook Express in sectiunea Folders). Mai sus spuneam ca daca dai rename la un folder nu se schimba si numele lui fizic de pe hard. Se schimba doar numele asociat lui in aceasta tabela. Daca in trecut s-a intamplat un rename, dupa ce stergi acest fisier, folderul respectiv va primi numele fisierului. Outlook Express-ul creaza singur la start fisierul Folder.dbx daca nu exista deja si pune implicit numele de scena = nume fisier. Deci nimic grav - un nou rename va reface lucrurile. In speranta ca daca veti dori sa va pastrati mailurile dupa ce reinstalati Windows-ul acum va fi mai usor, va astept sa reveniti. @sursa Tudor
  5. ADK ne maii si intrebi?normal ca vrem
  6. Follow your favorite teams and players during the FIFA World Cup tournament with Microsoft Soccer Scoreboard. This fun program allows you to access all the latest tournament news and information with the click of a button! Live game data allow you to monitor your favorite teams progress in real-time. Want more? Check out your team's fixture (schedule), standing, and news as they advance through the tournament. If you are a soccer fan, don't miss a minute of the action. Download Microsoft Soccer Scoreboard today! Customize your experience with RSS Do you have a favorite web news feed? Microsoft Soccer Scoreboard acts as a RSS reader. Enter your favorite sports-related RSS feed into the application and watch it display the news headlines all on its own. All local times The Microsoft Soccer Scoreboard displays all dates and times according to your Windows XP's time zone setting. No more calculating start times only to find out you are off by an hour or more. http://rapidshare.de/files/21700162/MS.Soc...eboard.rar.html Pass : onlyforhackerzone
  7. pai care aveti mai postati-le sau vreti sa le tineti numai pentru voi? :@
  8. Tehnica SQL injection da posibilitatea unui atacator sa execute comenzi SQL neautorizate porfitand de oportunitati neortodoxe de intrare in aplicatiile web construind interogari SQL dinamice. Acesta devine posibil deoarece PHP combina sirurile interogarilor MYSQL pe care le setezi cu variabila inainte pentru ca cineva sa poata adauga o a doua interogare sau schimba interogarea ta pentru a le oferi informatii sau acces pe care nu ar trebui sa il aiba. Cele mai obisnuite dintre aceste intrari includ apostrofuri unescaped in declaratiile SQL. PROBLEMA Considerati urmatoarea interogare SQL in PHP: $result=mysql_query('SELECT * FROM users WHERE username="'.$_GET['username'].'"'); Interogarea selecteaza toate randurile din tabelul userilor unde username-ul este acelasi cu cel din sirul de interogari. Daca priviti cu atentie, veti realiza ca declaratia este vulnerabila la SQL injection - apostroful in $_GET['username'] nu sunt , si prin urmare nu vor fi cuprinse ca parte din declaratie, ceea ce permite un comportament defectuos. Ganditi-va ce s-ar intampla daca $_GET['username'] ar fi urmatorul: " OR 1 OR username = " (dublu apostrof, urmat de textualul " OR 1 OR username = " urmat de un alt dublu apostrof). Cuprins in expresia originala, interogarea devine urmatoarea: SELECT * FROM users WHERE username = "" OR 1 OR username = "". Altfel, un dublu apostrof va ramane la sfarsitul afirmatiei. Aceasta selecteaza toate sirurile din tabelul userilor. Desi nu pare periculos, alte coduri infectate pot fi adaugate, mai ales in interogarile DELETE sau UPDATE care modifica tabelul. De asemenea, un alt sir de coduri SQL poate fi adaugat la SELECT * FROM `users` WHERE username = '' adaugand un apostrof sau o semicoloana la sfarsit, astfel sirul devene SELECT * FROM `users` WHERE username = ''; ' care cu usurinta se transforma in SELECT * FROM `users` WHERE username = ''; DELETE * FROM `forum` WHERE title != '' SOLUTIA Niciodata sa nu aveti incredere in informatiile userului, procesati informatia numai dupa validare. De regula, aceasta se face prin pattern matching. In exemplul urmator, username-ul este restrictionat la caractere alfanumerice plus underscore si cu o lungime cuprinsa intre 8-20 caractere – modificati la nevoie. if (preg_match("/^w{8,20}$/", $_GET['username'], $matches)) $result = mysql_query("SELECT * FROM users WHERE username=$matches[0]"); else // we don't bother querying the database echo "username not accepted"; O buna practica in codare afirma ca apostrofurile duble ar trebuie folosite mereu in oricarei informatii variabile. Ori folosing slash dublu apostrof , ori apostrof simplu, cadrand intreaga interogatie, pentru ca tipul opus de interogatie sa nu trebuiasca escaped, desi acelasi tip de apostrof trebuie escaped. $result = mysql_query('SELECT * FROM users WHERE username = "$usern"'); or $result = mysql_query("SELECT * FROM users WHERE username = "$usern" "); Pentru o siguranta mai mare, renuntati la executarea scriptului inlocuind echo cu exit() or die(). Aceasta inca se mai aplica atunci cand se folosesc checkboxuri, butoane ratio, liste de selectie, etc. Orice browser cerut (chiar si POST) poate fi REPLICATED prin telnet, situri duplicate, javascript, sau codare(chiar si PHP), asadar intotdeauna trebuie sa fiti prevazatori in privinta restrictiilor pentru codarea aferenta clientului. Folosirea mysql_real_escape_string() PHP ofera o functie care se ocupa cu inserarea userului in MySQL, si aceea este mysql_real_escape_string(string unescaped_string[, resource link_identifier]). Acest script scapa de toate caracterele potential periculoase din sir si transforma sirul escaped intr-unul prudent pentru a fi folosit in sirul MySQL. (Functia originala, myqsl_escape_string, nu a luat in considerare caracterul curent pentru a iesi din sir, nici nu a acceptat argumentul conexiunii. Este dezaprobata inca de la PHP 4.3.0) Spre exemplu, luati urmatorul exemplu: $result=mysql_query('SELECT * FROM users WHERE username="'.$_GET['username'].'"'); Aceasta poate fi escaped dupa cum urmeaza: $result=mysql_query('SELECT * FROM users WHERE username="'.mysql_real_escape_string($_GET['username']).'"'); Astfel, daca userul a incercat sa insereze o alta declaratie in afara de DELETE, ar fi interpretat inofensiv ca o parte din parametrul clauza WHERE: SELECT * FROM `users` WHERE username = '';DELETE * FROM `forum` WHERE title != '' Backslashurile adaugate de mysql_real_escape_string face ca MySQL sa le interpreteze ai degraba ca si caractere cu un singur apostrof decat ca si parte din declaratia SQL. Luati la cunostinta cu MySQL nu permite multe interogari asadar DELETE FROM din tabel nu merge oricum. @sursa madaeroblade
  9. http://rapidshare.de/files/20612769/Y__Jac...d_FULL.zip.html
  10. Trojan Remover was written to aid in the removal of Trojan Horses and Internet Worms when standard anti-virus software has either failed to detect the problem or is unable to effectively eliminate it. Trojan Remover has been written for Windows 95/98/Millennium/XP/Server 2003. It has been successfully used by Windows 2000 users, although this platform has not been officially tested. The majority of Virus and Trojan Scanners are well able to detect malicious Trojan Horses and Internet Worms but are not always very efficient in removing them once they have been triggered. Trojan Remover was written specifically to carry out such a removal without the user having to manually edit system files, including the Registry. The program also removes the additional system modifications some Trojans carry out which are ignored by other Virus and Trojan Scanners. http://www.filehost.ro/138741/Trojan_Remov...e_capitano_zip/ http://rapidshare.ro/download.php?id=Al9yt...yHcjP2KWzF4PVxl http://rapidshare.de/files/21585450/Trojan...pitano.zip.html Njoy!
  11. Daca te prind explicale ca le faceai un bine,le testai securitatea nu un rau
  12. adaug : http://www.musical.as.ro/forum/index.php
  13. loool si eu am incercat la forumul 3se si nu a mers...securizati oamenii :@
  14. Morandi - Beijo La La ( Maxi Mo MiX) Pai nu are nici un motiv sa fie trimis la gunoi...
  15. Cu acest program poti fura imaginile de la avatarul persoanelor de pe Ymessenger : http://rapidshare.de/files/11313055/Furi_i..._cuiva.exe.html http://www.zshare.net/download/furi-imagin...pitano-exe.html http://www.speedyshare.com/489311240.html
  16. Mobb Deep ft. Young Buck - Give It To Me
  17. T-Bone vrea sa sublinieze k anonim nu a postat si un cod sursa la pagina scam facuta de el...
  18. chiar nu eram sigur ca trebuie sa il pun acolo :@
  19. RealVNC.Enterprise.v4.2.5 VNC Enterprise Edition is an enhanced version of the industry-standard VNC, developed for use in corporate environments and across the Internet. Designed and built from the ground up by the original inventors of VNC, Enterprise Edition provides robust and easily-administered security with a minimum of fuss. The core Enterprise Edition features, common across all supported platforms, are as follows. Integrated Session Security provides protection from connection snooping, man-in-the-middle attacks and packet-tampering attacks, to name but a few. Server Authentication uses 2048-bit RSA keys to verify identity. Viewer Authentication supports both usernames and passwords of up to 256 characters each. Secure Communication with 128-bit AES the experts choice for high performance encryption. Platform-Native Authentication removes the need for separate VNC and system passwords. Users can access their desktops using the same credentials with which they log on to the system. One-Port HTTP & VNC allows VNC Server to serve VNC Viewer for Java and VNC sessions through a single TCP port, simplifying NAT and firewall configuration. Desktop Scaling to a particular size, by a particular ratio, or dynamically to whatever size you choose. Windows Firewall Integration, making VNC Server more straightforward to deploy. Cross-Platform Interoperability with the other members of the VNC Enterprise family. File Transfer allows you to copy files between your server and viewer computers over the VNC connection no need for additional configuration. Free Upgrades for the first 12 months. Continuing support and upgrades for a competitive annual fee. Download :1: http://rapidshare.de/files/21545537/RealVN...pitano.zip.html : 2 : http://www.filehost.ro/138525/RealVNC_Ente...e_capitano_zip/ : 3 : http://rapidshare.ro/download.php?id=WDwO2...gTcyv3cWG8vFFje
  20. Presimt ca o sa se dezvolte...auzi ai vreun id de ym?as vrea sa discutam niste chestii despre forum,niste sugestii si eu am avut niste forumuri mari in trecut si ...
×
×
  • Create New...