PDA

View Full Version : jedno sigurnosno pitanje o izradi stranice za upis broja kreditne kartice


nitko
26-03-2007, 14:23
Zanima me, koliko bi trebalo biti pažlijiv kod izrade jedne stranice gdje bi korisnik, upisao broj kreditne kartice. Jesu li česti upadi hakera na takve stranice, krađa podataka i to.. ili su mediji tu krađu podataka malo prenapuhali ? Ako ste radili neki takav web shop, koliko ste vi bili pažljivi oko toga ?

Davor B.
26-03-2007, 14:35
To se radi preko takozvanih sigurnih stranica (protokol https://...) koje imaju šifriranje podataka. Samo šifriranje može biti raznih jakosti i nivoa, a obično ih prodaje firma kod koje hostaš stranicu, a u dogovoru s adminom možeš koristiti vlastito šifriranje (napisano ili kupljeno kod nekog drugog). U svakom slučaju ne pomišljaj na formu za unos broja kartice bez https protokola!!
Ja nemam iskustava s tim ni kao korisnik ni kao programer pa ti neznam reći više od ovoga.
Predstavnici hosting firmi na ovom forumu ti mogu reći puno više.

nitko
26-03-2007, 14:42
ma dobro.. znam za https:// , nego još nešto van toga ? Ako neko ima iskustva sa time, pa da malo u detalje ode..

io2000
26-03-2007, 15:14
obavezno koristiti https:// sa nekim SSL certifikatom, to osigurava enkriptiranu komunikaciju izmedju web-browsera i web-servera

a sve drugo ovisi sto ces raditi s tim brojem kartice, znaci da li ga prosljedjujes nekom payment gatewayu (u tom slucaju ti vise nisi nadlezan za sigurnost br. CC), spremas u bazu, saljes na mail...

s druge strane ono sto ne mozes kontrolirat je client-side security, tj. da je na korisnikovom racunalu nekakav spyware, trojan i pitaj boga sta sve ne...

tsereg
26-03-2007, 17:03
Ja nisam radio takve stvari, pa samo komentar.

Idealno bi bilo da kreneš od konkretnih servisa koji postoje za kartičnu naplatu i proučiš evt. dokumentaciju, API-je i sl. Ako je dokumentacija kvalitetna, dobit ćeš i neke konkretne naputke. Ako su komponente tog servisa kvalitetne, ti ćeš morati napisati što manje koda, kako bi odgovornost za taj dio u što većoj mjeri ležao na samom servisu.

Ovako načelno govoreći, jedna dobra metoda predostrožnosti jest da sve podatke držiš isključivo u memoriji, bez spremanja na disk (ako transakcija propadne, neka korisnik krene od početka). Također možeš varijable reinicijalizirati po obavljanju algoritma. Ako baš moraš nešto spremati na disk, osiguraj da se prilikom svakog izvođenja skripte obrišu sve datoteke (i one koje su pogreškom u izvođenju zaostale od prethodnih izvođenja skripti) ili zapisi (ako se radi o bazi). Čak možeš prije brisanja stvari i pregaziti (nekim drugačijim tekstom). Teško je reći koliko je što od toga stvarno korisno, ali svakako ne šteti.

U svakom slučaju je shared hosting krivo mjesto za tako nešto. Najbolje je konzultirati se sa hosting kompanijom ili uzeti neki e-commerce hosting paket, pretpostavljam.

----

Ovo tvoje pitanje jest ujedno i dobar primjer zašto "sigurne" stranice (one iza https-a) i nisu sigurne. Https je samo plašt oko kanala između preglednika i servera. A što se s tim podacima dešava kada jednom stignu na server (npr. skuplja ih neki pripravnik zaposlen u hosting kompaniji), nitko ne zna.

Teoretski me čudi zašto kartičarske kompanije nemaju svoje vlastite servere/servise za takvu naplatu, nego se implementacija prepušta trećim stranama. No, praktično, statistička vjerojatnost krađe kod kupovine na Internetu je za sada znatno manja nego kod peglanja u dućanu.

gog
27-03-2007, 00:59
Uzmeš payment gateway i broj kartice niti ne dođe do tvog servera, samim time nikakva odgovornost nije na tebi...

Sljaker
27-03-2007, 10:01
Prvo, opasnost je zanemariva. Brojevi kartica se ne kradu u procesu transakcije nego kasnijom provalom u bazu.
Kvaka je u tome da podatke o transakciji ipak moraš negdje spremiti, pa makar i samo neke.

Da bi onemogućio provalu i krađu (ako spremaš takve podatke u bazu), dobra je metoda da se podaci prvo zakodiraju nekim od hash algoritama i tek tada spreme u bazu (zakodirani). Ne zaboravi da ključ treba biti dug barem 30 znamenki i da ga držiš odvojeno od baze. Na taj način funkcioniraju svi ozbiljni shopovi.

Inače, takve stvari bez problema rade i na shared hosting okruženju, ali je naravno bolje kad su na dedicated serveru...

Darko73
28-03-2007, 02:45
...
Teoretski me čudi zašto kartičarske kompanije nemaju svoje vlastite servere/servise za takvu naplatu, nego se implementacija prepušta trećim stranama. ...
Zato što bi provala u server kartičarske kuće napravila nenadoknadivu štetu upravo toj kući, a ovako je šteta "distribuirana"...