Dzie? dobry, jestem pocz?tkuj?cy je?li chodzi o MySQL, lecz uda?o stworzy? mi si? system kont oraz zapisu danych gracza (tj. pozycja, skin, pieni?dze etc.).
Opracowa?em pewien system ochrony przed atakami SQL Injection i chcia?bym zapyta? znawc?w tematu czy to wystaczaj?ce.
Mianowicie gdy skrypt musi zapisa? jaki? string do MySQL to najpierw z poziomu LUA koduje go do base64 i otrzymany szyfr jest zapisywany do bazy danych MySQL (zamiast "czystego" stringu), a gdy go pobieram jest dekodowany. Osobi?cie nie potrafie wyobra?i? sposobu na SQL injection przy zastosowaniu czego? takiego, ale mo?e jest co? o czym nie wiem
Czyta?em, ?e stosowanie mysql_escape_string nie jest w 100% bezpieczne, a ponadto nie pozwala mi na zapisywanie polskich znak?w kt?rych potrzebuje
// Edit
Mam jeszcze jeden problem z MySQL.
Gdy skrypt nie wykonuje ?adnych zapyta? w ci?gu minuty, to trace po??czenie z MySQL. Problem znika gdy doda?em timera kt?ry co 30 sekund pinguje baze danych, ale po??czenie traci sie gdy wchodze do bazy danych z phpmyadmin. To normalne?
Dzi?ki, tutaj z tego co widze w celu ochrony przed SQL Injection jest u?yte tylko mysql_escape_string, kt?rego wolalbym nie u?ywa?. Czekam na jak?? opinie do?wiadczonego skryptera odno?nie stosowania kodowania w base64 jako zabezpieczenia przed sqli
Nie g?upie tylko niekonwencjonalne. Nie widze tutaj problemu z wgl?dem w dane, jak b?de potrzebowa? informacji o jakim? graczu to poprostu zakoduje jego nick i otrzymany kod odszukam w bazie. Troche roboty z tym jest, ale nie widz? powod?w dla kt?rego mia?bym specjalnie cz?sto zagl?da? do bazy danych.
Co jest nie tak z pluginem do MySQL? Nie za bardzo chce mi si? przerabia? skrypt skoro ju? u?ylem funkcji z tego pluginu
Mianowicie gdy skrypt musi zapisa? jaki? string do MySQL to najpierw z poziomu LUA koduje go do base64 i otrzymany szyfr jest zapisywany do bazy danych MySQL (zamiast "czystego" stringu), a gdy go pobieram jest dekodowany.
To jest g?upie. Przecie? nie masz wtedy ?adnego wgl?du na dane.
Nie g?upie tylko niekonwencjonalne. Nie widze tutaj problemu z wgl?dem w dane, jak b?de potrzebowa? informacji o jakim? graczu to poprostu zakoduje jego nick i otrzymany kod odszukam w bazie. Troche roboty z tym jest, ale nie widz? powod?w dla kt?rego mia?bym specjalnie cz?sto zagl?da? do bazy danych.
Co jest nie tak z pluginem do MySQL? Nie za bardzo chce mi si? przerabia? skrypt skoro ju? u?ylem funkcji z tego pluginu
Martwisz si? o SQL Injection a wolisz korzysta? z nieaktualnego oprogramowania,kt?re ostatni update mia?o w 2010. Funkcje MTA zapewniaj? sta?e wsparcie i rozw?j i nie widz? ?adnego powodu bt z nich nie korzysta?. Chyba, ?e wolisz sobie komplikowac wszystko tym base64, kt?re przy wi?kszej bazie by?oby po prostu frustruj?ce. Tw?j wyb?r, ja po prostu staram si? doradzi?.
Ok, poprostu my?la?em ?e jedynym sposobem na zwi?zanie serwera z zewn?trzn? baz? danych MySQL jest u?ycie tego pluginu i nie wiedzia?em o istnieniu tych funkcji. Zmodyfikuje skrypt zgodnie z twoimi zaleceniami, dzi?ki
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach