Używam skryptu powłoki do komunikowania się z bazą danych MySQL. MySQL obsługuje określając kwerendy jako argument powłoki, tak:Jak zapobiec iniekcji SQL w interfejsie powłoki linii poleceń MySQL?
mysql my_db -B -N -e "select id from Table"
Jednak jeśli mam parametr, który chciałbym użyć w zapytaniu, w jaki sposób mogę uzyskać ochronę przed atakami wtryskowych?
Naiwny sposobem jest po prostu wkleić wartość zmiennej na żądanie, ale nie jest to bardzo bezpieczny:
mysql my_db -B -N -e "select id from Table where name='$PARAM'"
Czy są jakieś triki lub udokumentowane interfejsy do wstrzyknięciem bezpieczny kwerend z wiersza polecenia?
Czy aplikacja internetowa przekazuje te "parametry" do skryptu powłoki? Sugerowałbym przeglądanie czyszczenia danych w aplikacji internetowej. – Jakub