IPB

Здравствуйте, гость ( Вход | Регистрация )

> 

1. оформляйте исходный код в тег [CODE]. Темы с неправильным форматированием будут удаляться
2. пишите конкретно, по существу. Чем больше информации вы предоставите, тем быстрее, полнее и точнее будет ответ.
3. для предложений о работе есть раздел "Вакансии", будете внимательнее.

 
Reply to this topicStart new topic

Проверка POST запроса

vedenyapin
сообщение Nov 28 2007, 16:24
Сообщение #1


Беспартийный
******

Группа: Members
Сообщений: 663
Регистрация: 4.6.2006




Не хочу чтобы посетители писали комментарии от моего имени, делаю проверку:
Код
if (($_POST[com_name]=="vedenyapin") || ($_POST[com_name]=="Vedenyapin"))

но буквы e, y, a можно подменить русскими.

Неужели нужно прописывать все варианты с проверку, или есть альтернатива? huh.gif
Go to the top of the page
 
+Quote Post
OZ
сообщение Nov 28 2007, 16:28
Сообщение #2


red seocat again
*******

Группа: Moderators
Сообщений: 2391
Регистрация: 28.3.2006
Из: Москва




можно поставить ограничение на ники только английскими буквами, тогда такой проблемы не будет
Go to the top of the page
 
+Quote Post
vedenyapin
сообщение Nov 28 2007, 16:29
Сообщение #3


Беспартийный
******

Группа: Members
Сообщений: 663
Регистрация: 4.6.2006




Цитата(OZE @ Nov 28 2007, 16:28)
можно поставить ограничение на ники только английскими буквами, тогда такой проблемы не будет
*

Ну, это самый простой выход smile.gif
А по другому никак?
Go to the top of the page
 
+Quote Post
dima5ty
сообщение Nov 28 2007, 16:30
Сообщение #4


Оле Лукойе
*******

Группа: Moderators
Сообщений: 2812
Регистрация: 15.9.2005




1. для проверки заменять все русские леммы на аналогичные по начертанию английские
2. приводить в верхний или нижний регистр
3. непосредственно сравнение ==="vedenyapin"
Go to the top of the page
 
+Quote Post
vedenyapin
сообщение Nov 28 2007, 16:33
Сообщение #5


Беспартийный
******

Группа: Members
Сообщений: 663
Регистрация: 4.6.2006




Цитата(dima5ty @ Nov 28 2007, 16:30)
1. для проверки заменять все русские леммы на аналогичные по начертанию английские
2. приводить в верхний или нижний регистр
3. непосредственно сравнение ==="vedenyapin"
*

dima5ty, а можно подробнее по первому пункту. Он как раз подходит...
Go to the top of the page
 
+Quote Post
dima5ty
сообщение Nov 28 2007, 16:45
Сообщение #6


Оле Лукойе
*******

Группа: Moderators
Сообщений: 2812
Регистрация: 15.9.2005




$username = "vеdenyaрin"
$badname = "vedenyapin";



# приведение к нижнему регистру + первая замена символов
$testname = strtr($username, "QWERTYUIOPASDFGHJKLZXCVBNMЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ", "qwertyuiopasdfghjklzxcvbnmейцукeнгшщзхъфывanpолджэячсмитьбю");

# дополнительная замена символов
$testname = strtr($testname, "епар", "enap");



# проверка имени постера
if($testname === $badname)
{
print "Fuck you, Spilberg!";
exit(0);
}
else
{
#do something good
}



чтобы понять где какие символы юзай: http://fd.oaetour.info/bad_letters.php
алфавит можно расширить изменив только второе правило замены
Go to the top of the page
 
+Quote Post
vedenyapin
сообщение Nov 28 2007, 16:52
Сообщение #7


Беспартийный
******

Группа: Members
Сообщений: 663
Регистрация: 4.6.2006




Огромное спасибо!
Go to the top of the page
 
+Quote Post
GogA
сообщение Nov 28 2007, 16:59
Сообщение #8


Александр
*******

Группа: Moderators
Сообщений: 2135
Регистрация: 27.9.2006
Из: Moscow




strtolower + strtoupper для смены регистра.

+ я бы запретил смешивать латиницу с кириллицей в нутри одного слова
Go to the top of the page
 
+Quote Post
dima5ty
сообщение Nov 28 2007, 17:42
Сообщение #9


Оле Лукойе
*******

Группа: Moderators
Сообщений: 2812
Регистрация: 15.9.2005




Цитата(GogA @ Nov 28 2007, 17:59)
strtolower + strtoupper для смены регистра.
*

Они зависимы от локали, это не есть гут.
Go to the top of the page
 
+Quote Post
nikzh
сообщение Nov 28 2007, 18:40
Сообщение #10


Гуру
******

Группа: Members
Сообщений: 1221
Регистрация: 7.5.2006
Из: Амстердама :)




а можно еще так v3d3nyap1n tongue.gif
Go to the top of the page
 
+Quote Post
GogA
сообщение Nov 28 2007, 20:06
Сообщение #11


Александр
*******

Группа: Moderators
Сообщений: 2135
Регистрация: 27.9.2006
Из: Moscow




накодил сейчас:
http://gogolev.net/q.php?nick=g0ga

100 байт кода.
Go to the top of the page
 
+Quote Post
Cron
сообщение Nov 29 2007, 14:03
Сообщение #12


разнорабочий
******

Группа: Старожилы
Сообщений: 959
Регистрация: 6.1.2006
Из: зона отчуждения




Регулярку в одну строку написать, где вместо "спорных символов" может быть что угодно. И все.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 30th July 2010 - 18:58
  Rambler's Top100