Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2016-06-23, 15:11


dober







Wiek: 33
Na forum: 4829 dni
Posty: 6



Respekt: 50

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?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-06-23, 17:53


luki123luki123

Place Game






Wiek: 28
Na forum: 5275 dni
Posty: 1948
Nick w MP: LuKiO

Piwa: 6101

Respekt: 611
Respekt: 611Respekt: 611

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-06-23, 18:25


dober







Wiek: 33
Na forum: 4829 dni
Posty: 6



Respekt: 50

"luki123luki123" napisał/a:


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

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-06-23, 20:07


Brzysiek

Skrypter pralek






Wiek: 27
Na forum: 5198 dni
Posty: 488
Nick w MP: Brzysiek

Piwa: 1034

Respekt: 360
Respekt: 360Respekt: 360Respekt: 360Respekt: 360

Cytat:


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.

Zamiast u?ywa? archaicznego pluginu do MySQL u?yj wbudowanych funkcji MTA zapewniaj?cych ochron? przed SQL Injection dzi?ki zastosowaniu mo?liwo?ci dodawania w?asnych parametr?w do zapytania, kt?re zast?puj? znaki zapytania(?).
https://wiki.multitheftauto.com/wiki/Server_Scripting_Functions#SQL_functions

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-06-23, 21:12


dober







Wiek: 33
Na forum: 4829 dni
Posty: 6



Respekt: 50

"Brzysiek" napisał/a:

Cytat:


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.

Zamiast u?ywa? archaicznego pluginu do MySQL u?yj wbudowanych funkcji MTA zapewniaj?cych ochron? przed SQL Injection dzi?ki zastosowaniu mo?liwo?ci dodawania w?asnych parametr?w do zapytania, kt?re zast?puj? znaki zapytania(?).
https://wiki.multitheftauto.com/wiki/Server_Scripting_Functions#SQL_functions


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

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-06-24, 11:48


Brzysiek

Skrypter pralek






Wiek: 27
Na forum: 5198 dni
Posty: 488
Nick w MP: Brzysiek

Piwa: 1034

Respekt: 360
Respekt: 360Respekt: 360Respekt: 360Respekt: 360

"dober" napisał/a:

"Brzysiek" napisał/a:

Cytat:


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.

Zamiast u?ywa? archaicznego pluginu do MySQL u?yj wbudowanych funkcji MTA zapewniaj?cych ochron? przed SQL Injection dzi?ki zastosowaniu mo?liwo?ci dodawania w?asnych parametr?w do zapytania, kt?re zast?puj? znaki zapytania(?).
https://wiki.multitheftauto.com/wiki/Server_Scripting_Functions#SQL_functions


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?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-06-24, 13:33


dober







Wiek: 33
Na forum: 4829 dni
Posty: 6



Respekt: 50

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 ;)

Postaw piwo autorowi tego posta
 

 
Tagi: czy :: wystarczy :: ochronie :: przed :: sql :: injection? :: lua+mysql
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Czy to wystarczy w ochronie przed SQL Injection? LUA+MySQL Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

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
Dodaj temat do Ulubionych
Wersja do druku