Narzędzia użytkownika

Narzędzia witryny


ewdsql

To jest stara wersja strony!


Zasady wykonywania zapytań SQL

Zwykły użytkownik nie jest w stanie w bazie nic popsuć, bowiem nie ma praw do zapisu, aktualizacji ani usuwania czegokolwiek.

Nie oznacza to jednak, że nie należy zwracać uwagi na zabezpieczanie pisanego kodu przed [http://xkcd.com/327/|SQL injections].

Niestety pakiet RODBC sprawy nie ułatwia, bowiem:

  • ani nie daje możliwości przygotowywania zapytań parametrycznych (gdzie o stosowne przygotowanie parametrów dba za nas funkcja wykonująca zapytanie);
  • ani nie udostępnia żadnej funkcji do wyparsowywania znaków specjalnych.

W związku z tym zalecane jest:

  • konstruowanie zapytań za pomocą sprintf() (a nie paste() / paste0()) i korzystanie w sprintf() z typów %d i %f tam, gdzie to możliwe;
  • napisanie sobie funkcji wyparsowującej obejmującej minimalnie przypadek
    gsub("'", "''", wartość)

    i stosowanie jej wszędzie tam, gdzie do zapytania wkładamy argument będący stringiem.

ewdsql.1398686988.txt.gz · ostatnio zmienione: 2014/04/28 14:09 przez zozlak