Autorius Tema: Nenaudoti mysql funkcijų, o kokias tada?  (Skaityta 603 kartus)

Neprisijungęs Tautvydas

  • Naujokas
  • *
  • Įrašai: 342
  • Karma: +7/-0
    • Žiūrėti profilį
    • www.Hostukas.Eu - Automatizuotas žaidimų hostingas
Nenaudoti mysql funkcijų, o kokias tada?
« Įrašytas: 2013-03-04 21:09:09 pm »
Kažkur užmačiau, kad nenaudoti standartinių mysql_query ir kitų tų funkcijų.

Kokias naudoti tada? Kur reiktų pasimokyti? Kaip suprantu labai nesaugu su senomis funkcijomis,ar jeigu taisyklingai visur viską parašius - viskas ok ( t.y. escapinus visus pateikiamus duomenis, visus gautus duomenis patikrinant ar tikrai tam žmogui priklauso ir t.t )?
www.Hostas.Eu - Automatizuotas žaidimų hostingas.

www.Hostukas.Eu - Automatizuotas žaidimų hostingas.

Prisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 1868
  • Karma: +45/-13
    • Žiūrėti profilį
    • Apie mane
Ats: Nenaudoti mysql funkcijų, o kokias tada?
« Atsakymas #1 Įrašytas: 2013-03-04 21:26:19 pm »
Taip, šias funkcijas mesti lauk.
Jos jau nebepalaikomos, nes... tiesiog paseno ir visiškai nesaugios paliko ( taip teigia patys php kūrėjai ).

Ką siūlome? PDO, MySqli ( ne mysql ). Kodėl? Jos draugiškesnės, paprastesnės ir daug naudingesnės ;)

Plačiau pasidomėk pačiame php.net :)

Neprisijungęs Interneto keleivis

  • Naujokas
  • *
  • Įrašai: 397
  • Karma: +6/-8
    • Žiūrėti profilį
    • Daugiau apie Jį.
Ats: Nenaudoti mysql funkcijų, o kokias tada?
« Atsakymas #2 Įrašytas: 2013-03-04 21:35:08 pm »
MeekroDB http://www.meekro.com/
Guten Tag!

Prisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 1868
  • Karma: +45/-13
    • Žiūrėti profilį
    • Apie mane
Ats: Nenaudoti mysql funkcijų, o kokias tada?
« Atsakymas #3 Įrašytas: 2013-03-04 22:10:54 pm »
MeekroDB http://www.meekro.com/


Nerekomenduoju kaip pradedančiajam ;) Pirmiausia šiek tiek perprasti pačiam MySqli reiktų

Manualai.lt Forumas

Ats: Nenaudoti mysql funkcijų, o kokias tada?
« Atsakymas #3 Įrašytas: 2013-03-04 22:10:54 pm »

Neprisijungęs Tautvydas

  • Naujokas
  • *
  • Įrašai: 342
  • Karma: +7/-0
    • Žiūrėti profilį
    • www.Hostukas.Eu - Automatizuotas žaidimų hostingas
Ats: Nenaudoti mysql funkcijų, o kokias tada?
« Atsakymas #4 Įrašytas: 2013-03-04 23:04:24 pm »
Peržvelgiau dokumentaciją, neatrodo sunku, viskas lyg ir aišku. Bet iš kitos pusės pirma reiktų gal mysqli naudojimą suprasti, o tada šitą žiūrėti.

Su mysql_ tai jau per akis viską išnagrinėjęs esu, čia plius minus tas pats, komandos panašios
www.Hostas.Eu - Automatizuotas žaidimų hostingas.

www.Hostukas.Eu - Automatizuotas žaidimų hostingas.

Neprisijungęs Interneto keleivis

  • Naujokas
  • *
  • Įrašai: 397
  • Karma: +6/-8
    • Žiūrėti profilį
    • Daugiau apie Jį.
Ats: Nenaudoti mysql funkcijų, o kokias tada?
« Atsakymas #5 Įrašytas: 2013-03-05 09:53:38 am »
Anaiptol labai jau ten sudėtingo :D Geriau negaišk laiko, o eik tiesiai prie reikalo. Štai čia visa tema apie meekrodb http://forumas.manualai.lt/kita-36/meekrodb-mysqli-duomen-bazs-klas/, yra dokumentacijos viskas. Iš ties čia nioko sudėtingo :) Insert, select beveik viskas tas pats kaip mysql_, o štai jei norėsi suskaičiuoti įrašų skaičių, jau bus kita komanda - 'SELECT COUNT(*) FROM lentele WHERE sąlyga'. Tie čia to mokėjimo :)

Ir tiesą sakant aš pradėjau šią klasę naudoti nemokėdamas, tiksliau net niekada neužmatęs mysqli.
Guten Tag!

Prisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 1868
  • Karma: +45/-13
    • Žiūrėti profilį
    • Apie mane
Ats: Nenaudoti mysql funkcijų, o kokias tada?
« Atsakymas #6 Įrašytas: 2013-03-05 11:28:25 am »
Tai ir darai klaidą iš tikro ;)
Pvz galima netik taip skaičiuoti, kaip tu, kad darai ;) Yra daugybė dalykų, kurie veikia čia iš mysqli funkcijų ;)

Neprisijungęs bendzaminas

  • Naujokas
  • *
  • Įrašai: 184
  • Karma: +11/-0
    • Žiūrėti profilį
Ats: Nenaudoti mysql funkcijų, o kokias tada?
« Atsakymas #7 Įrašytas: 2013-03-05 21:08:56 pm »
Neklaidinkit žmonių, mysql_* užklausos liko tokios, kokios buvo ir seniau tais laikais kada jas plačiai naudojo, nei jos patapo saugesnės, nei jos patapo nesaugesnės, tiesiog kaip ir viskas, taip ir PHP tobulėja, todėl po mažu daug kas keičiasi, paprastėja ir tobulėja, o seniau naudotos funkcijos lieka pamatais naujoms patobulintoms funkcijoms.

Prisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 1868
  • Karma: +45/-13
    • Žiūrėti profilį
    • Apie mane
Ats: Nenaudoti mysql funkcijų, o kokias tada?
« Atsakymas #8 Įrašytas: 2013-03-05 21:20:37 pm »
Neklaidinkit žmonių, mysql_* užklausos liko tokios, kokios buvo ir seniau tais laikais kada jas plačiai naudojo, nei jos patapo saugesnės, nei jos patapo nesaugesnės, tiesiog kaip ir viskas, taip ir PHP tobulėja, todėl po mažu daug kas keičiasi, paprastėja ir tobulėja, o seniau naudotos funkcijos lieka pamatais naujoms patobulintoms funkcijoms.

Taip, esi teisus, jos nekito. Tačiau paminėjau, kad nesaugios, nes php.net buvau radęs prie mysql užrašą, kad kažkokia spraga yra ir primygtinai siūlė naudoti PDO arba Mysqli :)

Neprisijungęs vitalikaz

  • Dalyvis
  • **
  • Įrašai: 879
  • Karma: +58/-2
  • Tikėk kuo tiki
    • Žiūrėti profilį
    • blast.lt
Ats: Nenaudoti mysql funkcijų, o kokias tada?
« Atsakymas #9 Įrašytas: 2013-03-11 10:52:34 am »
Taip, esi teisus, jos nekito. Tačiau paminėjau, kad nesaugios, nes php.net buvau radęs prie mysql užrašą, kad kažkokia spraga yra ir primygtinai siūlė naudoti PDO arba Mysqli :)
Siūlė, nes dauguma žmonių nesaugiai naudoja mysql_*, o ne pati funkcija yra nesaugi. O šitie visi wrapper'iai - tai tiesiog prevencinė priemonė prieš kreivarankius programuotojus, kas padaro užklausas saugesnėmis, dėl to ir sakoma, kad tai yra saugiau :)

Prisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 1868
  • Karma: +45/-13
    • Žiūrėti profilį
    • Apie mane
Ats: Nenaudoti mysql funkcijų, o kokias tada?
« Atsakymas #10 Įrašytas: 2013-03-11 10:57:22 am »
Su šituo galiu sutikti ;) Dažniausiai ne kodas yra nesaugus, o tie, kas jį padaro neapgalvoja kas saugu, o kas ne :)

Neprisijungęs Tautvydas

  • Naujokas
  • *
  • Įrašai: 342
  • Karma: +7/-0
    • Žiūrėti profilį
    • www.Hostukas.Eu - Automatizuotas žaidimų hostingas
Ats: Nenaudoti mysql funkcijų, o kokias tada?
« Atsakymas #11 Įrašytas: 2013-03-27 14:47:52 pm »
Tai pagal jumis supratau, KAD:
  • Mysql ir toliau galima drąsiai naudoti, tik atkreipti dėmesį, kad gal kažkurios funkcijos yra nesaugios ( o tai jau php.net parašyta. ) Tai visi paprasti mysql_query, fetch'ai, num_rows ir t.t. Blogiau nebus kad naudosi.
  • Mysqli tai jau neturi kažkokių saugumo problemų
Tai ar geriau su tais meekro užsiiminėti, ar mysqli nagrinėti?

www.Hostas.Eu - Automatizuotas žaidimų hostingas.

www.Hostukas.Eu - Automatizuotas žaidimų hostingas.

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7110
  • Karma: +216/-15
    • Žiūrėti profilį
    • mano CV
Ats: Nenaudoti mysql funkcijų, o kokias tada?
« Atsakymas #12 Įrašytas: 2013-03-27 15:21:21 pm »
Tai pagal jumis supratau, KAD:
  • Mysql ir toliau galima drąsiai naudoti, tik atkreipti dėmesį, kad gal kažkurios funkcijos yra nesaugios ( o tai jau php.net parašyta. ) Tai visi paprasti mysql_query, fetch'ai, num_rows ir t.t. Blogiau nebus kad naudosi.
  • Mysqli tai jau neturi kažkokių saugumo problemų
Tai ar geriau su tais meekro užsiiminėti, ar mysqli nagrinėti?

visur yra saugumo problemu, jei filtruosi zmogaus ivedima pakankamai rupestingai, tai ir senos funkcijos tau veiks ir bedu nematysi, tiesa pasakiu nzn kuo skirias jos is esmes nuo nauju variantu, as naudojau mysql_ poto perejau prie doctrine'os ir nebesigilinu kas ten kur kas vyksta, uz mane gilinasi doctrine'os developeriai, kurie specializuojasi duombaziu valdyme
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Neprisijungęs Tautvydas

  • Naujokas
  • *
  • Įrašai: 342
  • Karma: +7/-0
    • Žiūrėti profilį
    • www.Hostukas.Eu - Automatizuotas žaidimų hostingas
Ats: Nenaudoti mysql funkcijų, o kokias tada?
« Atsakymas #13 Įrašytas: 2013-03-27 15:24:13 pm »
doctrine kaip ir meekrodb viska isescapina ir t.t.? Kuri patogesne?
www.Hostas.Eu - Automatizuotas žaidimų hostingas.

www.Hostukas.Eu - Automatizuotas žaidimų hostingas.

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7110
  • Karma: +216/-15
    • Žiūrėti profilį
    • mano CV
Ats: Nenaudoti mysql funkcijų, o kokias tada?
« Atsakymas #14 Įrašytas: 2013-03-27 16:19:54 pm »
doctrine kaip ir meekrodb viska isescapina ir t.t.? Kuri patogesne?

meekreo nenaudoju, doctrine'a naudoja pas mane darbe ir symfony2 pradejau mokytis, ten doctrine yra pagal default paciam frameworke ideta kaip defaultinis orm'as, tai ir naudoju. Neturiu dideliu priekaistu, doctrine 1 tai rijo ramu nesveikai, o 2 atrodo viskas veikia gerai.
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Prisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 1868
  • Karma: +45/-13
    • Žiūrėti profilį
    • Apie mane
Ats: Nenaudoti mysql funkcijų, o kokias tada?
« Atsakymas #15 Įrašytas: 2013-03-27 18:15:43 pm »
Iš tikro, tai po meekro DB pripratau prie CI mysql variklio, bet šiaip man jau mieliau pasidarė PDO, nes nereikia visokių nesamonių, tik nurodai engine ir viskas ( mysql, mssql ir pnš )

Neprisijungęs justinas

  • Naujokas
  • *
  • Įrašai: 110
  • Karma: +10/-2
    • Žiūrėti profilį
Ats: Nenaudoti mysql funkcijų, o kokias tada?
« Atsakymas #16 Įrašytas: 2013-03-31 18:42:22 pm »
Atskirkit kelis dalykus.

ext_mysql/mysqli/PDO yra duomenų bazės bibliotekos. Prisijungi, vykdai užklausas ir t.t. Iš jų geriausia visom prasmėm yra PDO. Jei dėl kokios nors neįsivaizduojamos priežasties PDO neįmanoma naudoti, tada mysqli. ext_mysql (mysql_* funkcijų) reikia vengti kaip didžiausio blogio.

Doctrine ir galbūt meekrodb (nesidomėjau) yra ORM'ai. Po gaubtu jie naudoja kažką iš DB bibliotekų (taigi, nepakeičia paties PDO ar panašių), tačiau suteikia papildomų funkcijų (tam tikras aukštesnio lygio API, modeliai ir t.t.). Dauguma atvejų su jais yra daug patogiau (kaip ir su frameworkais).

Neprisijungęs bendzaminas

  • Naujokas
  • *
  • Įrašai: 184
  • Karma: +11/-0
    • Žiūrėti profilį
Ats: Nenaudoti mysql funkcijų, o kokias tada?
« Atsakymas #17 Įrašytas: 2013-04-02 19:46:20 pm »
As pats jau gerokai seniai nebenaudoju mysql_* (teko vargti devynias juras), bet esme tame, jog cia visi peikia mysql_* ir tapatina su didziausiu blogiu lyg didziausi ekspertai, bet net, manau, nenutuokia ka patys kitiems siulo, pateikdami nuli informacijos kodel ir ka reikia ne/naudoti apart "php.net rekomenduoja".

As kaip tik siulyciau nevengti tokiu funkciju kaip mysql_*, o perprasti kas tai tokio, su kokiomis problemos ir issukiais gali susidurti, kaip optimizuoti koda ir t.t.. Na, nebent cia super projektu kurejai susirinke ir dalinasi savo patirtimi. Tada spaudziam maximuma.

Mokinantis programuoti realiai mysql_* lyginciau su turbo pascal'iu. Manau, bent kazkas suprato ka norejau pasakyti :)
« Paskutinį kartą keitė: 2013-04-02 19:52:58 pm sukūrė bendzaminas »

Manualai.lt Forumas

Ats: Nenaudoti mysql funkcijų, o kokias tada?
« Atsakymas #17 Įrašytas: 2013-04-02 19:46:20 pm »