Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Веб-программирование > PHP / MySQL

PHP / MySQL Создание динамических Веб-ресурсов

Ответ
 
Опции темы
Старый 12.01.2012, 16:25   #16
Crayzi
ПроЭктировщик
 
Регистрация: 26.06.2007
Сообщений: 194
Написано 21 полезных сообщений
(для 25 пользователей)
Ответ: Впросы новичка

Сообщение от Aikon Посмотреть сообщение
А так же хотя бы примерно представлять, что такое sql-injection и потому стараться избегать выполнять запросы вида
select ... from Accounts where login = СтрокаОтПользователя
в виду их опасности.
Опасность есть даже если в базу обращается только сам сервер(перед этим проверяя чтобы логин состоял только из букв, а пароль буквы + цифры) и база не имеет разрешения на доступ извне? (всмысле отсутствие регистрации через сайт и шаманство с доступом к базе)
Пошел гуглить "sql-injection"...
(Offline)
 
Ответить с цитированием
Старый 12.01.2012, 16:43   #17
Aikon
ПроЭктировщик
 
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений
(для 52 пользователей)
Ответ: Впросы новичка

Crayzi, простой пример.
Ты получаешь имя пользователя и пытаешься искать его в базе
select * from Accounts where login = 'ВведеноеПользователемИмя'
Тогда, пользователь с именем Вася';delete from Accounts;commit;select '1
Почистит всю базу пользователей :D

Поскольку вместо одного ожидаемого запроса будет выполнена следующая последовательность
select * from Accounts where login = ' Вася';
delete from Accounts;
commit;
select '1'

Пример простой, но думаю вполне наглядный.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Crayzi (12.01.2012)
Старый 12.01.2012, 16:54   #18
Crayzi
ПроЭктировщик
 
Регистрация: 26.06.2007
Сообщений: 194
Написано 21 полезных сообщений
(для 25 пользователей)
Ответ: Впросы новичка

Сообщение от 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", по твоему совету.
П.сс. Твой пример хороший)

Последний раз редактировалось Crayzi, 19.01.2012 в 01:35.
(Offline)
 
Ответить с цитированием
Старый 25.01.2012, 01:56   #19
treycerok
Оператор ЭВМ
 
Аватар для treycerok
 
Регистрация: 11.11.2011
Адрес: Ростов-на-Дону
Сообщений: 41
Написано 9 полезных сообщений
(для 17 пользователей)
Ответ: Впросы новичка

mysql_real_escape_string (mysql_escape_string) вам в помощь , и никаких инъекций, и всякого типа анси смиволы и прочее в последних ветках не прокатывают.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Crayzi (29.01.2012)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 20:36.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com