SQL Injection, duhovit primer
SQL Injection, duhovit primerSQL Injection (u bukvalnom, retko korišćenom prevodu "ubrizgavanje SQL-a") je tehnika napada na neki sajt ili uopšte softver, koji za čuvanje podataka koristi neki od sistema za baze podataka koji radi sa SQL-om (SQL Server, MySQL, Oracle itd.).
Suština ove tehnike je ubacivanje SQL iskaza u polja na sajtu ili nekom drugom programu koja su predviđena za unos nekih podataka. SQL Injection se najčešće koristi za pokušaj dobijanja administratorskih privilegija na nekom sajtu, mada ima i dosta drugih primera.
EMS SQL Manager for PostgreSQL – alat za svaki dzep
EMS SQL Manager for PostgreSQL – alat za svaki dzepPostgreSQL (ili samo Postgres) je sistem za upravljanje bazama podataka nastao još osamdesetih godina na Univerzitetu Kalifornija. Sredinom devedesetih je postao otvorenog koda i u ovom trenutku je jedan od najkorišćenijih sistema ovog tipa. Ono što je kod njega specifično je da ne postoji jedan zvaničan GUI alat za upravljanje serverom ili bazama, što može ponekad da zbuni nove korisnike.
Za sve takve, koji muku muče sa softverom za pristup i administraciju PostgreSQL baza, rešenje može biti EMS-ov SQL Manager. Kompanija EMS proizvodi veliki broj softvera za baze podataka, i to za sve najveće RDBMS sisteme: SQL Server, Oracle, MySQL, Interbase/Firebird i PostgreSQL.
Delphi i ADO muke
Delphi i ADO mukeEvo primera jedne linije Delphi koda koja mi je dva dana zadavala glavobolje:
MyQuery.SQL.Add('-- add join with a future mapping table');
posle ovog upita ide neki update koji neće pa neće da se izvrši.
Ja sam samo hteo da stavim sebi komentar da uskoro treba da se posvetim ovom upitu, dodam join sa tabelom za mapiranje, ali sam napravio belaj.
Šta se desilo?
ADO se potpuno zbunio, mučio, pokušavao neke čudne stvari:
SET NO_BROWSETABLE ON
go
declare @P1 int
set @P1=NULL
exec sp_prepare @P1 output, NULL, N'SELECT * FROM with', 1
select @P1
go
SET NO_BROWSETABLE OFF
go
Kada se ovaj poslednji kod pusti u Query analyzer-u (ili SSMS-u) puca, jer tabela with ne postoji. I što je najgore, ADO mi nije davao nikakvu poruku o grešci, samo počeo čudno da se ponaša.
I, da rezimiram - uzdržite se od komentara koji mogu da sadrže neke ključne reči T-SQL-a, jer vas mogu dobro namučiti.
Misao dana – learning SQL
Misao dana – learning SQLThe biggest obstacle to learning SQL is unlearning procedural programming.
Autor ove rečenice je SQL majstor Joe Celko. Pominje se u nekim njegovim knjigama, nastupima na konferencijama i sl. Ne mogu reći da je u pitanju neka univerzalna istina, ali je iz mog iskustva više puta potvrđeno.
Programersku karijeru sam započeo (i još uvek traje) kao Pascal / Delphi programer. I tu sve lepo radi, brzo, uzmem neki set podataka, provrtim kroz 2-3 petlje i eto rezultata.
Nastavak
Novo na sajtu
Novo na sajtuDodati dugmići za deljenje sadržaja sa sajta putem društvenih mreže. Probajte. Podelite sa svojim prijateljima
Takođe, uskoro nas očekuje redizajn sajta.
U pripremi su i dva nova teksta, drugi deo teksta o Transaction Logu kao i nastavak priče o istoriji SQL Servera.
Talend Open Studio – besplatna ETL alternativa
Talend Open Studio – besplatna ETL alternativaTalend je jedna od najvećih svetskih kompanija koje proizovode softver otvorenog koda. Njihov najpoznatiji proizvod, koji ovom prilikom želim da predstavim, je Talend Open Studio for Data Integration (skraćeno TOS). Ovaj softver je prvi put predstavljen tržištu 2006. godine, nakon dve godine imao milion korisnika, a danas preko 20 miliona.
Proizvodi ove firme su inače podeljeni u dve serije: Open (besplatni) i Enterprise (komercijalni). Nisam imao priliku da radim sa nekim od njihovih komercijalnih proizvoda, ali Talend Open Studio koristim već nekoliko meseci i zadovoljava sve moje poslovne potrebe.
Transaction log, prvi deo – osnovni podaci i struktura
Transaction log, prvi deo – osnovni podaci i strukturaTransakcija nad bazom podataka se sastoji od jedinice rada izvršene u okviru sistema za upravljanje bazama podataka (ili sličnog sistema), takve da se tretira na koherentan i pouzdan način, nezavisna od drugih transakcija. Transakcije nad bazama podataka imaju dve glavne svrhe:
1. Da omoguće pouzdano izvršavanje jedinica rada koje takvih da je moguć oporavak od greški, i da baza podataka ostaje konzistentna čak i u slučaju sistemskih grešaka, kada se izvršavanje prekine (u potpunosti ili delimično) i mnoge operacije nad bazom ostanu nedovršene ili sa nejasnim statusom.
2. Da omoguće izolaciju među programima koji istovremeno pristupaju bazi podataka. Bez izolacije, rezultati programa mogu da budu pogrešni.
Transakcija nad bazom podataka po definiciji mora da bude atomična,(engl. atomic), konzistentna (engl. consistent), izolovana (engl. isolated) i trajna (engl. durable).Skraćenica koja označava ovaj skup osobina je ACID (od početnih slova engleskih reči za ove četiri osobine).
Izvor: Wikipedia
Šta je u stvari transakcija? Recimo da imamo dve operacije u nekom knjigovodstvenom softveru – skidanje iznosa sa jednog računa i zatim dodavanje istog iznosa nekom drugom računu. Šta se dešava ako nestane struje posle prve operacije? Prvi račun je „osiromašio“ za neki iznos, ali se sredstva gube jer se ne nalaze na ciljnom računu. Tu stupaju na scenu transakcije, koje nam omogućavaju da dve pomenute operacije posmatramo kao celinu.
Nastavak
Humor
HumorNisam pisao neko vreme, zbog raznih obaveza, ali sam polako počeo da spremam nove tekstove. Za početak, i da u smehu provedemo ove tople dane, malo humora u vezi sa SQL Serverom i bazama podataka uopšte.
Verovatno najpoznatiji humoristički strip o SQL-u je "Exploits of a mom":
SQL Azure – baza u oblaku
SQL Azure – baza u oblakuSQL Azure je deo Microsoft-ove Windows Azure platforme koji je već neko vreme dostupan kao skup servisa u Oblaku. SQL Azure se stalno menja kako vizuelno, zato što se stalno poboljšava Silverlight administrativna aplikacija, tako i funkcionalno. Mislim da je vreme da mu posvetimo malo više vremena, jer sam duboko ubeđen da je SQL Server u Oblaku, bilo privatnom ili javnom, budućnost.
SQL Azure je nešto novo u svetu SQL Servera, i svakakom od nas će dobro doći da se sa njim bolje upozna. Moj bivši kolega Goran Milanov piše vrlo kvalitetan i interesantan blog za MS Academic zajednicu, i da ne bih ja otkrivao toplu vodu, preporučujem da posetite njegov blog i saznate više o SQL Azure-u.







