Zabezpieczanie bazy wyrażenie regularne

0

Chcę zabezpieczyć bazę danych. Dane wprowadzane przez użytkownika są wstawiane do zapytań SELECT lub INSERT INTO (jako argument warunku wyszukania w SELECT lub dane do wstawienia w INSERT).

O ile dobrze myśle musze zabezpieczyc sie przed wpisaniem przez uzytkownika :

DROP TABLE tabela
DELETE FROM tabela
SELECT

wpisywane dane sprawdzam wyrazeniami regularnymi. Przykladowo:

[[a-zA-Z]-\s']* <- Nazwa kraju

Jak zmodyfikować to wyrazenie zeby nie moglo byc zadnym z wymienionych wyrazen?

Znalazlem, że (?:(?!good).)* to negacja slowa good, ale nie rozumiem jej działania.

0

O ile dobrze myśle musze zabezpieczyc sie przed wpisaniem przez uzytkownika :

DROP TABLE tabela

Jak widzisz w twoim poście występuje DROP TABLE i nic się nie stało. Natomiast gdyby forum odrzucało posty zawierające DROP TABLE, to byś tego tematu nie założył ;)

  1. Jeśli spodziewasz się liczby, to upewnij się, że użytkownik podał liczbę.
  2. Jeśli spodziewasz się tekstu, to upewnij się, że użytkownik nie będzie w stanie "wyjść" z apostrofów.
  3. Jeśli spodziewasz się nazwy kolumny (na przykład do ORDER BY ... ), to skopałeś sprawę już wcześniej, bo użytkownik nie powinien znać nazw kolumn w twojej bazie.

Poszukaj sobie "SQL injection przykłady" to zobaczysz na czym to polega, czego się bać, a czego nie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1