Сообщение от Aikon
Crayzi, простой пример.
Ты получаешь имя пользователя и пытаешься искать его в базе
select * from Accounts where login = 'ВведеноеПользователемИмя'
Тогда, пользователь с именем Вася';delete from Accounts;commit;select '1
Почистит всю базу пользователей :D
Поскольку вместо одного ожидаемого запроса будет выполнена следующая последовательность
select * from Accounts where login = ' Вася';
delete from Accounts;
commit;
select '1'
Пример простой, но думаю вполне наглядный.
|
Ясно, я слышал о подобном, но я сделал функцию для проверки пригодности логина пароля и имени )
Если Имя/пароль/логин вписуются в рамки допустимого (длина менее 10 символов, исользуются только английские крупные и мелкие буквы, а так-же цифры) то функция вернет мне True)
Function ValidateLoginPassName%(RegText$)
Local TextLen%,MidKey%,AllOk%
If Len(RegText$)>10 Then Return False
For TextLen%=1 To Len(RegText$)
MidKey%=Asc(Mid(RegText$,TextLen%,1))
AllOk%=False
If MidKey>=48 And key<=57
AllOk%=True
Else If MidKey>=65 And MidKey<=90
AllOk%=True
Else If MidKey>=97 And MidKey<=122
AllOk%=True
EndIf
If AllOk%=False Then Return False
Next
Return True
End Function
П.с. И убедился что не зря я такую функцию замутил, прочитав про "sql-injection", по твоему совету.
П.сс. Твой пример хороший)