Thursday, December 08, 2005
Din minunile WIndows-ului
1. O chestie de care foarte multi rad dar care mie mi se pare foarte folositoare: Dublul clic pe separatorul de la headerul dintrun grid - face strech la continut, adica in cazul in care este cu puncte puncte ti-l arata pe tot, iar in cazul in care este prea mare til restrange ca sa poti vedea si celelalte coloane
2. Adaugarea de extraoptiuni la headerele de la File Explorer - clic drepata pe header si selectarea optiunilor in plus dorite - foarte folositoare mai ales in cazul in care aveti fisiere audio sau video
3. Adaugarea unui shortcut keys pentru deschiderea unui program - se da clic dreapta pe shortcutul de pe desktop sau din Programs si aveti optiunea shortcut key; tastati combinatia dorita si evrika; de asemenea tot aici puteti seta ca la incarcarea unui program sa aveti setate diferite optiuni puse ca parametrii la targetul shortcutului
4. Dc doriti sa vedeti cum functioneaza conexiunea la un calculator si sa faceti asta in mod continuu in timp ce il stresati cu ceva dati ping -t. Se iese cu CTRL^C. Scuze cine stia
5. Mie unuia mi se par deosebit de folositoare folderele myPictures si MyMusic, mai putin unde sunt ele plasate, adica pe C. De aceea schimbarea caii lor se face asa: Start> MyDocuments> Propeties> Target. De ce mi se par folositoare folderele astea? Pentru ca au headerele setate dupa cum va spuneam mai sus
6. Cum va blocati calcul cand plecati de la birou la toaleta: TASTA WINDOWS si L
TIpuri in plus la CHIP(m-or plati astia pentru reclama, nu m-or plati? Sau poate ma dau in judecata mai degraba :))

http://www.chip.ro/tips&tricks/windows/17
Securitatea pentru Adinutza ( vol 2)
Si acum cateva scenarii posibile:
1. IIS - anonimous; ASP.NET - ASPNET Account; BD - autorizat ASP.NET account - scenariul asta corespunde unei solutii de site public in care toata lumea poate scotoci peste tot in site
2. IIS - anonimous; ASPNET - Forms Authentification; BD - autorizat ASP.NET account - site cu featureuri private dar tot pe net; userii se tin in baza de date si se authentifica user-parola
3. IIS - Windows Authentification; ASPNET - Windows Authentification; BD - autorizat ASP.NET account( nu s-a dat impersonate; ptr a pastra performanta la BD cu connection pooling) - in cazul siteurilor ce ruleaza in Intraneturi si au un target bine definit, din useri windows cu conturi separate deja existente
4. IIS - DIgest Authentification; ASPNET - Windows Authentification; BD - autorizat ASP.NET account( nu s-a dat impersonate; ptr a pastra performanta la BD cu connection pooling) - in cazul siteurilor ce ruleaza in Intraneturi si au un target bine definit, din useri windows cu conturi separate deja existente; dar logarea pe site se poate face si de pe masini non-Windows ( Cica)
Obs: Exista cazuri cand se ajunge ca userul windows sa se impersooneze pana la nivelul bazei de date ( nu neaparat userul ci mai degraba grupuri de useri cu anumite drepturi) - se foloseste pentru a se creea anumite cazuri de utilizare a obiectelor din bd pe diferiti useri, dar se pierde performanta data de connection pooling
SECURITATE WEB ptr Adinutza
Notiuni:
1. IIS = serverul de web Microsoft( ma rog si de FTP); Serveste pagini HTML (care este un standard acceptat de toate browserele - o sa vezi de ce zic asta). El poate servi pagini statice sau dinamice. Paginile statice sunt cele servite direct din directoare virtuale, si in cazul carora continutul este data clientului asa cum se prezinta. In cazul paginilor dinamice sunt in ultimul timp Object Oriented, de tip ASP .NET sau JSP. Porgramezi in ele lucrand cu obiecte de tip Combo, textbox, etc, exact ca in Windows forms, dar atentie!!! la sfarsit ae loc faza de render a paginii care intoarce tot HTML standard IIS-ului si acesta la client
TOate serviciile sub windows ruleaza sub cont, cu drepturi cat mai mici. IIS-ul ruleaza default sub contul IUSR_[NumeleServerului]
2. DIRECTOARELE VIRTUALE - sunt locatii in serverul de WEB, aici IIS, unde sunt pastrate fisierele sursa si executabile pe baza carora se genereaza raspunsul. Dc acestea sunt HTML se dau direct clientului, dc sunt .aspx, etc, se paseaza procesului ce le poate interpreta si procesa. Dupa procesare HTML-ul intors circula spre client.
ASPNETUL ruleaza sub contul ASPNET. ;)Ai inteles da?
3. ASP.NETUL este un host de aplicatie, ceea se traduce ca un proces total separat de IIS. Cand primeste o cerere si vede ca este .aspx, serverul de web o paseaza ASP.Net-ului care o proceseaza ( obiectual) si la sfarsit ii intoarce HTML. Caci IISul nu stie sa intoarca la clienti decat HTML
4. Baza de date - se poate afla pe acelasi server sau pe altul. SI ea are securitate proprie si/sau integrata cu aplicatia.
Din cele de mai sus rezulta 3 asa-zise gateway-uri ptr aplicatie, la nivelul carora se discuta de securitate: IIS, ASP.NET si BD.
GATEWAY-uri:
1.IIS - tipuri de authentificare:
Anounimous - toata lumea are acces la site (public)
Basic Authentification - se cere parola si user, dar se transmite in clar pe retea
Digest Authentification - se cere parola si user de Account de Windows de pe server sau din domeniul serverului, dar ele se trmit ca user si parola normale, pentru a se putea autentifica si statiile non-Windows
Windows Authentification - parola si user de accont windows, trimise criptat si securizat numai de la un calculator windows catre un sever windows
Obs1: In cazul autentificarii windows(Windows sau digest), credentialele( parola+user) sunt trimise mai departe urmatorului proces( aka ASP.NET, fara a mai trebui ca si acesta sa mai faca la randul lui dubla autentificare; el de fapt face, dar transparent ptr user)
Securitatea IIS se implementeaza la nivel de director virtual si se seteaza din Internet Information Services din Services. Ea nu are nici o leg cu web.config-ul dupa cum o sa vezi mai apoi
Obs2: Securitatea de aici are numai rol de a da acces la fisiere si nu de a restrictiona intrarea la anumite fetureuri ale aplicatiei. Deci, in mare ea ese anonima sau windows. IAr la Windows se trece mai departe tokenul la urmatorul proces
2. ASP.NET-ul tipuri principale:
Obs1: Setarile de securitate alea ASP.NETului se gasesc scriese in fisierele de configurare web.config din directoarele virtuale
Windows authentification - de obicei authentificarea se face in IIS de unde se preia si tokenul de authentificare. Se foloseste mai ales in aplicatii web "interne", adica ce ruleaza pe reteau a locala, sau intr-un domeniu. ALtfel sunt foarte de greu de administrat un numar mare de useri windows. Caci sunt necesari useri windows.
FOrms Authentification - inseamna de fiecare data cand userul incearca sa ceara neautentificat o pagina ca ii va aparea formul de login in care isi va introduce numele si parola. Aceste sunt de obieci tinute intr-o baza de date undeva in back-end-ul aplicatiei
Obs2:In cazul autehtificarii windows, contextul userului care se authentifica poate fi transmit mai departe, baza de date, etc. Atunci este necesar sa se seteze in fisierul de configurare impersonate=true. Dc nu se alege aceasta, tokenul trimis mai departe este cel al ASP.NET-ului, adica cel corespunzator userului ASPNET
3. BD -tipuri:
Windows - se face tot prin prelucrarea tokenului venit; userii windows sunt mapati la anumite drepturi asociate obiectelor sql
SQL Authentification - se face prin user si parola; la fel sunt date anumite drepturi si sunt asociate la anumite obiecte sql
Wednesday, November 23, 2005
De ce imi plac siteurile MICROSOFT&MSDN.COM&MSDN2.COM:

1. pentru ca au Macromedii Flash :) frumoase pe primele pagini( graficieni misto, jos palaria)
2. pentru ca exista sectunea eLearning si MCP unde te duci sa vezi ce carti sati mai dai jos de pe net, desi ei se chinuie sa iti dea linkuri catre Amazon, etc
3. pentru ca tree-ul din stanga de la MSDN se incarca asa de incet si ai timp sa te gandesti la logica ta pana se incarca :), dar totusi are si Sync
( really usefull = sincronizeaza unde ai ajuns tot apasand pe linkuri cu categoria de documentatie la care chiar este)
4. pentru ca exista o groaza de Developer Center-uri, unde Microsoft tine sa te invete totuldespre produsele lor si nu cum se zice ca nu au documentatie buna ( E drept ca Help & Suppport de la Xp de pe PC e varza)
5. pentru ca viata e frumoasa cand dai Copy Codecopiezi cod si merge. Numai ca mai trebuie sa mai stii si unde sa-l copiezi ;)
6. pentru ca la clase in partea de Jos scrie Platforme Suppported si eu ma enervez cand nu e acolo Compact Framework :)

7. Pentru ca exista centrul Patterns& Practices (toti vrem sa fim sefi nu?)
8. pentru ca au cautari destul de bune. Asta dc stii cuvinte cheie
9. pentru ca poti sa le dai in partea de jos a paginii 1 la ce porcarii scriu cand le scriu si pot sa nu mai stea si altii sa le citeasca: Rate Content
10. pentru ca au RSS-uri si nu tre sa intru zilnic ca la Prosport pe toate Developer Centers
11. pentru ca au .NEt Show si MSDN TV si WebCasts ca sa ma uit eu la filmulete cand nu e femeia cu mine si ma obliga sa ma uit la desene animate

12. Pentru ca nu iti cer chiar la toate downloadurile sa ai Windows Genuine. Si nu tre sa downloadezi totul de la serviciu :)
13. Pentru ca exista MSDN Magazine Online
14. Pentru ca fac Preview-uri la tehnologii care o sa apara peste 2 ani si acum sunt pline de buguri :)
15. Pentru ca in poze sutn o graoza de oameni frumosi care nau nici o treaba cu programarea sau retelistica :)
16. Si pentru ca sunt programator Windows si I LOVE THIS GAME
Sunday, November 06, 2005

De ce sistemele microsoft consuma asa de multe resurse.... si de ce imi place mie asta ;)
1. In primul si in primul rand pentru ca un server puternic pentru o aplicatie de Bussiness costa 2000-3000E iar un programator mediu costa atat intr-o luna
2. Pentru ca un programator facea prin 95 o fereastra cu butoane si cu evenimente intr-o zi, iar acum o face in 2 min.
3. Pentru ca io nu stiu algoritmii de AI si pentru ca altii se ocupa zi de zi de ei si eu folosesc BI Projects in SQl server
4. Pentru ca mai bine programez OO pe Web decat sa scriu taguri, sa aliniez pixeli si sa scriu javascript. Iar clientul meu cumpara un server de 2000E, si-si scalaeaza aplicatia si face economie cu salariul meu pe nu stiu cate luni. Si aplicatia este mult mai readable
5. Pentru ca comunicatiile tip messenger P-to-P se faceau pe socketi alta data si acum se fac pe Indigo
6. Pentru ca prefer sa fac aplicatii care fac din ce in ce mai mult pentru client, de fapt si clientul prefera asta, Decat sa buchisesc la parsare de string-uri la un document XML
7. Pentru ca nu imi place sa scriu connection Stringurile de mana si imi place sa dau next> next intr-un wizard de connection string
8. Pentru ca alocarea si dezalocarea de memorie intr-un proces de bussiness nu are nici o importanta, ci graficele de la sfarsit
9. Pentru ca numi habar n-am sa fac recunoastere de scris pentru Tablet PC, si prefer sa iau API-urile de-a gata de la Microsoft cand vine vorba de PocketPC
Si nu in ultimul rand,
10. Pentru ca nu imi plac pointerii
Ps: Dar nu uitati optimizati cat mai mult programele. Exista tooluri ptr asta, nu tre sa le scrieti voi de la zero :)
CONS:
1. In primul rand sustineam ca nu se poate crea un sistem competitiv de genul Linux prin contributiile mai multor oameni fara sa existe o organizare superioara. Si acum sustin asta, dar se pare ca Linux o duce bine, chiar foarte bine la capitolul stabilitate. inca nu stiu cine face in cazul solutiilor chiar open-source selectarea bucatilor de cod care sa ramana, dar sistemul se dovedeste stabil, nu? Poate puteti sami spuneti voi cine selecteaza codul si cine il publica apoi sub forma unei versiuni. AIci deja nu mai vorbim de Suse sau se Red Hat. Deja mi se par proprietare respectivele. In aceeasi ordine de idei as fi zis ca Windows are in plus sistemul de raportare a bugurilor si de distribuire de patchuri. Ei bine am picat si la capitolul asta testul meu de gica contra. Si linuxul are asa ceva... Vezi likurile de mai jos:
http://opensourceversus.com/modules.php?op=modload&name=News&file=article&sid=155&mode=thread&order=0&thold=0
Nu stiu cine preia si cum preia bugurile, cum se distribuie la cei care le repara si cum se trec iar in versiune, dar se pare ca functioneaza
2. Ce mai sustineam este ca da, Linuxul este mai stabil, dar Windows este atacat de mai multe ori. Pe naiba uitativa la graficul de mai jos. Un calculator de orice fel este atacat la fel. Oamenii nu au nimic special cu windows sau linux, ei vor sa sparga, sa distruga, sa fie victoriosi. Victoria conteaza nu sistemul:
http://www.zone-h.org/en/winvslinux2,
Atunci de ce se aude numai de Windows la capitolul atacuri? Publicitate negativa? Nu cred. pai f simplu: Linux ruleaza cu drepturi minime, Windows ruleaza ca admin. Orice vine de pe net poate scrie unde vrea el in sistem si face ce vrea el in sistem pentru ca are drepturi. Firewall-uri, NA-uri, Security centeruri. nu fac nimic dc omul e destul de destept si le poate ocoli. Sunt scrise de oameni au si ele brese. Daca sistemul ar rula cu drepturi minime chestiile critice ar fi protejate de interdictia der access a userului care le ruleaza. Si chiar dc ar incerca de exemplu sa scrie in registri nu sar intampla nimic ci doar un Access denied. Si drepturile si securitatea sunt scriose de oameni. Dar numai acolo ar putea fi in acest fel exploatte buguri. in timp ce asa se poate intra lejer oriunde in casa numai deschizand o fereastra Firewallul.
E drept acum disperati cei de la Microsoft o sa indrepte greseala. Dupa NTFS acum in sfarsit in vista se va pune userul implicit acela cu dreoturi minime. Problema nu este asta. Si pana acum se putea rula cu un user "prost". Problema era ca programele erau scrise prost si aveam nevoie de drepturi de admin. Oamenii nu era obisnuiti sa faca development pe altceva decat pe Admin si in mod implicit si programele lor rulau pe admin. Dar asta inseamna ca Microsoft tre sa schimbe comunitatea si obiceiurile ei si nu numai propriul sistem de operare. Succes, inca cativa ani vom mai avea probleme
Personal: Eu rulez in Users. Dar nu vreau sa va zic ca Winamp nu merge, DC++ nu merge si alte chestii de gemul asta. Iar cand vreau sa dau ceva jos de pe net. Hop in contul de admin si dau jos, tinand doua conturi deschise. Cool nu? De ce sa nu ne complicam. Doar suntem la Microsoft, unde totul ar trebui sa fie simplu
(to be continued...)
