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 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.1398687001.txt.gz · ostatnio zmienione: 2014/04/28 14:10 przez zozlak