Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2010, 01:19   #1
InternetStranger
php / delphi
Форумчанин
 
Аватар для InternetStranger
 
Регистрация: 10.06.2007
Сообщений: 175
По умолчанию Передача EMail - адреса в GET-запросе

Всем форумчанам доброго времени суток. Всех с наступающими!

Не то чтобы проблема возникла, просто для общего развития хотелось бы разобраться.
В процессе разработки возникла необходимость передать EMail-адрес через GET-запрос. (Предварительно он проходит валидацию, так что вроде как соответствует стандартам... не знаю, правда каким именно )).
Обязательно ли кодировать его urlencode() или rawurlencode()?

ps: С обычными Email-ами типа "name@mail.ru" вроде и без этого все отлично работает. Я просто не знаю всех стандартов, может в общем случае там могут быть какие-то "противозаконные" символы.
G.Azamat { Web Development / Computer simulation }
Начинающий программист думает, что в килобайте 1000 байтов, а законченный уверен, что в километре 1024 метра.
InternetStranger вне форума Ответить с цитированием
Старый 27.12.2010, 01:52   #2
kpachbiu
взагрузке.рф
Форумчанин
 
Аватар для kpachbiu
 
Регистрация: 13.06.2010
Сообщений: 117
По умолчанию

Можешь и не кодировать.
Только проверяй на валидность и остутствия всякой бяки $_GET переменную с емайлом
Взагрузке.рф - Файлы для людей
Ищу художника или веб-дизайнера для создания браузерной онлайн игры! icq 340-289-851
kpachbiu вне форума Ответить с цитированием
Старый 29.12.2010, 20:48   #3
InternetStranger
php / delphi
Форумчанин
 
Аватар для InternetStranger
 
Регистрация: 10.06.2007
Сообщений: 175
По умолчанию

А какая-от там может быть бяка? Если там валидный E-Mail ? В смысле на входе проверка стоит, email там пришел или нет )
G.Azamat { Web Development / Computer simulation }
Начинающий программист думает, что в килобайте 1000 байтов, а законченный уверен, что в километре 1024 метра.
InternetStranger вне форума Ответить с цитированием
Старый 29.12.2010, 21:20   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от InternetStranger Посмотреть сообщение
А какая-от там может быть бяка? Если там валидный E-Mail ? В смысле на входе проверка стоит, email там пришел или нет )
Причём тут ваши "проверки на входе" - если речь идёт о GET ???
GET - это строка в браузере,которую может изменить кто угодно и на что угодно, и не важно что туда помещаете лично вы(ваш скрипт).

POST подделать не проблема - что уж тут говорить про GET....

Весь GET и POST после получения обязательно нужно проверять перед выводом/использованием - возьмите это себе за правило.
Andkorol вне форума Ответить с цитированием
Старый 29.12.2010, 22:06   #5
InternetStranger
php / delphi
Форумчанин
 
Аватар для InternetStranger
 
Регистрация: 10.06.2007
Сообщений: 175
По умолчанию

спокойно, не надо нервничать ) Вчитайтесь сначала, потом учите ))

Я как раз и говорю о проверке всех входящих параметров сценария $_GET и $_POST во входном скрипте.

Цитата:
Входной скрипт — это PHP-скрипт, выполняющий первоначальную обработку пользовательского запроса. Это единственный PHP-скрипт, который доступен для исполнения конечному пользователю по прямому запросу.
А предыдущий мой вопрос был написан, потому как я не понимаю зачем лишние проверки делать:
Цитата:
проверяй на валидность и отсутствия всякой бяки
1. Проверяем переменную $_GET['email'] на валидность, т.е. является ее значение почтовым адресом. Например, паттерном "/^[A-Z0-9._-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$/i" . or die();

2. Вот тут нужно валидированную переменную проверить на "отсутствие всякой бяки".
Цитата:
А какая там может быть бяка?
после предыдущей проверки?

зы: "Причём тут ваши "проверки на входе" - если речь идёт о GET ???" Я читал-читал, ну никак не пойму что означает это предложение ))
G.Azamat { Web Development / Computer simulation }
Начинающий программист думает, что в килобайте 1000 байтов, а законченный уверен, что в километре 1024 метра.

Последний раз редактировалось InternetStranger; 29.12.2010 в 22:09.
InternetStranger вне форума Ответить с цитированием
Старый 29.12.2010, 22:23   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от InternetStranger Посмотреть сообщение
спокойно, не надо нервничать ) Вчитайтесь сначала, потом учите ))

зы: "Причём тут ваши "проверки на входе" - если речь идёт о GET ???" Я читал-читал, ну никак не пойму что означает это предложение ))
Ок - разжуём:

InternetStranger :
Цитата:
возникла необходимость передать EMail-адрес через GET-запрос. (Предварительно он проходит валидацию, так что вроде как соответствует стандартам... не знаю, правда каким именно )).
kpachbiu :
Цитата:
Можешь и не кодировать.
Только проверяй на валидность и остутствия всякой бяки $_GET переменную с емайлом
InternetStranger :
Цитата:
А какая-от там может быть бяка? Если там валидный E-Mail ? В смысле на входе проверка стоит, email там пришел или нет )
- непонятно - на входе в GET проверка стоит(валидация JS например) - или в обработчике...? - потому kpachbiu вам и упомянул о проверке.

Поэтому и был написан мой пост.

PS: мне-то чего нервничать - скрипт-то ваш - вас через него и ломать будут,если что....

Последний раз редактировалось Andkorol; 29.12.2010 в 22:26.
Andkorol вне форума Ответить с цитированием
Старый 29.12.2010, 22:33   #7
InternetStranger
php / delphi
Форумчанин
 
Аватар для InternetStranger
 
Регистрация: 10.06.2007
Сообщений: 175
По умолчанию

Ах вон что ))
Цитата:
валидация JS например
Я даже и забыл, что такая бывает. Ибо не пользуюсь в связи бесполезностью (с точки зрения безопасности).
G.Azamat { Web Development / Computer simulation }
Начинающий программист думает, что в килобайте 1000 байтов, а законченный уверен, что в километре 1024 метра.
InternetStranger вне форума Ответить с цитированием
Старый 29.12.2010, 22:41   #8
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от InternetStranger Посмотреть сообщение
Ах вон что ))
Я даже и забыл, что такая бывает. Ибо не пользуюсь в связи бесполезностью (с точки зрения безопасности).
Ну так кода же вашего здесь нет - поэтому мало ли....

Раз у вас регулярками проверяется в обработчике - тогда о чём вы беспокоитесь?

После этого вашего паттерна "/^[A-Z0-9._-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$/i" из оставшихся символов "какую-то бяку" соорудить крайне сложно - разве что слово какое-нить неприличное...
Andkorol вне форума Ответить с цитированием
Старый 29.12.2010, 23:19   #9
InternetStranger
php / delphi
Форумчанин
 
Аватар для InternetStranger
 
Регистрация: 10.06.2007
Сообщений: 175
По умолчанию

Да я это собственно... изначально беспокоился не о безопасности, а о том, вернется ли ко мне почтовый адрес в целости и сохранности, если его гонять туда-сюда get-запросами.

Цитата:
Сообщение от Andkorol Посмотреть сообщение
из оставшихся символов "какую-то бяку" соорудить крайне сложно - разве что слово какое-нить неприличное...
)
G.Azamat { Web Development / Computer simulation }
Начинающий программист думает, что в килобайте 1000 байтов, а законченный уверен, что в километре 1024 метра.
InternetStranger вне форума Ответить с цитированием
Старый 30.12.2010, 00:48   #10
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от InternetStranger Посмотреть сообщение
Да я это собственно... изначально беспокоился не о безопасности, а о том, вернется ли ко мне почтовый адрес в целости и сохранности, если его гонять туда-сюда get-запросами.
Так не гоняйте его GET-ами - есть же в jQuery всякие полезности для этого:
$.post()
$.ajax()
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка по email DeDoK Общие вопросы Delphi 6 19.04.2011 11:41
Передача массива в GET запросе (php5) Doda PHP 3 17.02.2010 22:31
email в Memo demon9992 Общие вопросы Delphi 2 16.08.2009 22:12
Копирование email адреса из строки NooDle Microsoft Office Excel 5 27.01.2009 12:33