Jump to content
php.lv forumi

Recommended Posts

  • Replies 228
  • Created
  • Last Reply

Top Posters In This Topic

Par to, ka db struktūra jādefinē strikti kodā negribu piekrist!

 

Ja ir sistēma, kurā ir pietiekami sensitīvi dati, tad tā ir jātaisa tā, ka visa datu apstrādes/ieguves loģika ir nodefinēta datubāzē.

Datu iegūšana notiek tikai caur stored procedures, kurām pirmie obligātie parametri ir aplikācijas lietotāja vārds un parole.

Tādā veidā db pusē dati tiek atgriezti atbilstoši lietotāja tiesībām un nekas vairāk. Kā arī php/phytons utt pusē netiek rakstīti kveriji tipa " WHERE userid=1 "

 

DB lietotājs/parole, kura ierakstīta php config failā dod pieeju tikai pie stored proceduras. Struktūra ar šo db lietotāju nav pieejama un selektējam.

 

Gadījumā, kad ielaužas app serverī (shellshock :) ) un tiek iegūts db lietotājs/parole, tad ar to neko nevar izdarīt, jo vēl ir vajadzīgs applikācijas lietotāja vārds un parole.

 

Šis modelis ir tāds pats kā RESTfull api. Backendam nav svarīgi zināt vai tabulu strukūra izmainīta vai nav. Backend izmanto specifikācijā norādītas stored procedūras

 

 

Protams, MySQL pasaulē šādi nedara, bet Oracle/postgreSQL pasaulē dara tikai šādi. Ne velti ir atsevišķa pozīcija kā plsql programmētājs

Link to comment
Share on other sites

DB lietotājs/parole, kura ierakstīta php config failā dod pieeju tikai pie stored proceduras. 

daudz reiz ar to pietiek, vajag gudrāk rakstīt :)

 

>jo vēl ir vajadzīgs applikācijas lietotāja vārds un parole. aplikācijas parole jau ir config.php ...

 

Labi mēs te netaisām NASA sistēmas, bet paliek princip un vispār topiks bija par testēšanu

 

briedis pirmajā testā rakstīja, ka unit tests ir grūts, kas tur ir grūts, ja saskaldi savu kodu, nu views būs savādāk jāizmet, arī kontrolieri var skaldīt

 

nu bet vienmēr vajag skaldīt kodu, arī komtrolieri var saskaldīt pēc funkcionalitātes(nu viewi mainīsies, bet iet runa par testu)

Edited by vbz
Link to comment
Share on other sites

Go home, vbz, you're drunk.

Labi pietiek, lieta tāda, ka Tu jauc lietotāja logošanos un app logošanu pie interfeisa, kur glabāsi app securit - config failā, tad vispār aizmirsti par drošību

sliktākajā tas config ir zem root dir ...

Edited by vbz
Link to comment
Share on other sites

Gadījumā, kad ielaužas app serverī (shellshock :) ) un tiek iegūts db lietotājs/parole, tad ar to neko nevar izdarīt, jo vēl ir vajadzīgs applikācijas lietotāja vārds un parole.

 

Otrādāk, Tev jau dati ir uz rokas, ko vēl Tev vajag? arī app jau ir Tava? labi tur kriptēts, Tu zini struktūru un vari sākt darboties, ok sauc to par SQL injekcijām, ko vēl Tev vajag, ja tiec pie struktūras!!!!, rokas līkas

Ja datu struktūra ir Tava - Tu esi Dievs!

 

app mēslus mēs notestēsim

 

vienmēr ir dati Dieva vietā, to interfacu dienas laikā sabombardēs

Edited by vbz
Link to comment
Share on other sites

vbz tu neesi iebrauci tajā ko rakstīju!

 

Datubāzes paroli ar kuru var tikt pie db struktūras zina tikai administrators.

Aplikācijas config failā ir ierakstīta DB username un parole ar kuru var lasīt TIKAI storētās procedūras (GRANT SELECT)

 

Storētā procedūras izdod datus, tikai tad, kad ir padots derīgs aplikācijas user name un parole (lai tev vieglāk saprast, lietotāji ar savām parolēm glabājas users tabulā).

Lietotājam redzamos datus nosaka viņam piešķirtās tiesības, tā kā viņš redz tikai savus datus

 

Un jā, šajā gadījumā DB ar visiem datiem ir dievs. Aplikācija ir tikai interfeiss, lai tiktu pie datiem

Edited by Kasspars
Link to comment
Share on other sites

Aplikācijas config failā ir ierakstīta DB username un parole ar kuru var lasīt TIKAI storētās procedūras (GRANT SELECT)

 

mēs automātā liekam app userim grant all, labi lasī''su tālāk

 

Tālāk viss ir uzrakstīts pareizi un tālāk mēs arī tā darām!

Tā jau arī dara!

 

bet app userim pietiek ar grant select, bieži, nu viņam vēl dažas tiesības jānodrošina, vi;nam postgresql jābūt tiesības kaut vai sekvenci papildināt, nu tie ir sīkumi

nu ir arī citas tiesības - uz constraitiem, labi tie ir sīkumi, princips pareizs, app userim neliec grant all

 

Un vispār strikti dali userus, to es atkal neesmu izdomājis ...

 

Ja jau sāk runāt par db drošību

Nu MySql es neesmu kādus piecus gadus strādājis, bet noteikti, ka princips paliek tas pats

Nekad neliec app userim visas tiesības, mierīgāk gulēsi, piekrītu

Edited by vbz
Link to comment
Share on other sites

kurām pirmie obligātie parametri ir aplikācijas lietotāja vārds un parole.

 

Labi, es arī tā daru, cik tas pareizi, kaut ko tas nodrošina, es pieturos pie tās pašas metodes ...

 

in bļin, ja lauzīs, tā pat uzlauzīs, ha ha, tas nav mierinājums, bet mēs netaisām sistēmas pentagonam

Edited by vbz
Link to comment
Share on other sites

labi,users logojas ar to pašu db paroli sistēma, cik tas ir droši, drošāk nekā taisīt savu abrajadabra, bieži lauziens nav no ārpuses, bet salauž sistēmu iekšienē, sauksim to par intranet, jā es paļaujos uz db parolēm. Drošvien tas nav pareizi, bet drošāk nekā rakstīt savu abrajadabra, es neesmu tik gudrs, lai taisītu vēl savu logošanos, ja runa par postgresql, Un kam tas vajadzīgs?

 

Tā ir droša parole, ja tikai Tu atļaujas saliec pareizi

Un Tev jay nav nemaz atvērts ports no ārpuses, paliec gribot

 

drusku teorija, nu ja kāds šaubās:http://www.postgresql.org/docs/8.1/static/user-manag.html

 

Lasiet paši, es gribu gulēt

Edited by vbz
Link to comment
Share on other sites

vbz, tev pietrūkst komunikācijas, ka nepietiek strīdēties ar citiem un jau sāc strīdēties ar sevi?

komunikācija ar sevi noved pie atrisinājuma, Tu pie problēmas arī sev uzdod jautājumu - "bet ja es to izvadītu caur to; pag, vajag pamēģināt tak šitā", utt Labi, pilnīgs offtopic un pietiek!

 

komunikācija ar sevi noved pie šizofrēnijas :D

nu vismaz līdz šim man tāda diagnoze nav uzstādīta

Edited by vbz
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share


×
×
  • Create New...