![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
не знаю где задать этот вопрос /гугл чегой-то не помог/
base64_encode() в строке от неё, какие символы встречаются? [A-z0-9=] ? |
|||
|
||||
GeneralElectric |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
странно. не проверял, но неужели по адресу en.wikipedia.com/base64 не написано?
а зачем вообще возник такой вопрос? Мне ни разу в жизни не прихходилось задумываться. |
|||
|
||||
dm9 |
|
|||
![]() Дмитрий Копытин ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 3876 Регистрация: 22.7.2002 Где: Москва Репутация: 2 Всего: 137 |
Кажется, ещё + и /.
Всего должно 65 символов получится: 64 + знак "равно". http://ru2.php.net/base64_encode (первый комментарий). |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
по принципу запрета всего, что неразрешено
строчки base64 часто летают в урл, или просто передаются в определённых случаях в моём случае пришлось подправить один htaccess, чтобы он пропускал base64 комбинации, вот и разрешил [A-z0-9=], а вдруг там ещё символы используются какие? сейчас читаю http://en.wikipedia.org/wiki/Base64 но что-то пока найти не могу |
|||
|
||||
GeneralElectric |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
странно.
мне всегда казалось, что в урлах летают строчки urlencode, а не Base64 |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
интересно, во втором посте таблица с символами, но составлена с ошибкой (S) если посчитать 26 (английских буквы) *2 = 52 + 10 (цифр) = 62, нужно ещё два символа = и наверно + никогда не задумывался, видел на некоторых сайтах, а вообще допустимо ли использовать base64 строчки в качестве url ? site.ru/base64_combinacia или хотя бы site.ru?page.php?par=base64_combinacia Добавлено через 50 секунд видел-видел, и вроде даже на уважаемых сайтах |
|||
|
||||
GeneralElectric |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
а почему может быть нельзя?
откуда такой вопрос появился? кто мешает передавать в урле любые данные, закодированные хоть base64, хоть md5? другое дело, что я не вижу в Base64 смысла, поскольку urlencode делает именно то, что надо, и не нужно потом раскодировать |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
да понятное дело, если бы я сам всё это создавал такой хернёй не страдал бы,
но по наследству передаются такие шедевры, что приходится всячески изголяться имею возможность передать всего один параметр после ?par=string, а данных много. только get но если в base64 используется /, то в качестве урл его не засунешь |
|||
|
||||
GeneralElectric |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
осмелюсь повторить в третий раз.
для передачи данных через адресную строку сушествует специальная кодировка, реализованная в функции rawurlencode |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
потому, что:
чтобы засунуть несколько параметров в один, их перед этим нужно закодировать некой функцией (своей или стандартной, не важно) получая на выходе строчку (без символов & и /), потом да, засовываем в urlencode, передаём, принимаем и парсим но зачем эти сложности, если можно изначально кодирнуть стандартной base64 и засунуть без лишних вопросов в url, а на выходе так же просто base64_decode вот поэтому я и спрашиваю, из каких символов состоит строка base64 если она использует & или /, то понятное дело будем преобразовывать в ручную |
|||
|
||||
GeneralElectric |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
но зачем эти сложности, если можно изначально кодирнуть стандартной urlencode и засунуть без лишних вопросов в url, а на выходе вообще ничего не будет нужно
|
|||
|
||||
GeneralElectric |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
я понять не могу. есть функция, специально преднезначенная для кодирования передаваемой через урл информации. в которой гарантированно нет ничего лишнего. но нет - мы почему-то берем другую и подрываемся искать - есть ли в ней неправильные символы или нет.
|
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
вот как я смогу запихнуть в значение string несколько переменных без дополнительного кодирования? |
|||
|
||||
GeneralElectric |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
Не понял. А как тебе base64 поможет в запихивании нескольких переменных в стринг?!
|
|||
|
||||
mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 19 Всего: 54 |
bars80080, предлагаю вам хорошенько читать комментарии в документации. Там дано несколько примеров безопасного кодирования base64 для передачи в url:
http://ru2.php.net/manual/ru/function.base...ncode.php#63543 -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
mishaSL, спасибо за функции, но честно говоря, хочу немного сказать по существу дела
по топику были только первые посты, всё остальное разжёвывание моей конкретной ситуации я, конечно, извиняюсь, но неужели, у вас не бывает ситуации, когда возникает мысль, и становится просто интересно я думаю не лишне знать какие символы находятся в base64 и где её можно использовать (хотя бы ради будущих задач) вот, mishaSL, спасибо, теперь видно, что там есть + / =, причём последний символ видно не несёт смысловой нагрузки в строке (разделитель между строками?) теперь о конкретной ситуации: на данном сайте используются адреса типа: http:/ /site.ru/razdel/namepage и если нужно передать параметры, то они задаются: http:/ /site.ru/razdel/namepage_param1_param2 param1 и param2 - числа, ([0-9]*), были, сделаем скажем с буквами но всю систему разрушать не хочу, и делать третий, четвёртый то же (там они уже хитро передаются), создатели постарались запутать систему до чёртиков а передать в параметрах надо строку типа: http://site.site.ru/cgi-bin/redir/name?que...21654D1234N3214 пихать такую штуку в явный адрес не хочется (чтоб зря не глазели), вот и возникла мысль использовать base64 Это сообщение отредактировал(а) bars80080 - 28.2.2008, 15:26 |
|||
|
||||
mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 19 Всего: 54 |
Это нормальная мысль. base64 часто используется, когда необходимо передать длинные строки. Да и в принципе эти функции располагаются в разделе "URL Functions" Добавлено через 4 минуты и 37 секунд А если по теме, то вот: Спецификация Base64
Соответственно №символа - символ -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
отлично, тема дошла до логического заключения
|
|||
|
||||
GeneralElectric |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
Ну вот с этого и надо было начинать. А то "по наследству досталось", "несколько параметров передавать", "мной движет дух чистого исследователя"! К чему были все эти фантазии? И зачем было делать вид, что ты якобы не понимаешь, почему не подходит нормальная функция? |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
GeneralElectric, мне очень жаль, если вас интересуют только текущие проблемы. я сижу на этом форуме прежде всего потому, что здесь пролетают интересные задачи и решения, о которых я мог вообще не догадаться.
вопрос был непосредственно о base64, и я жалею, что неудержался и стал рассказывать предисторию возникновения вопроса mishaSL, полностью ответил на вопрос в последнем посте, всё остальное (кроме его же ссылок и двух функций) банальный трёп |
|||
|
||||
GeneralElectric |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
Ты правда думаешь, что тебе кто-то поверит в версию про "интересные решения" ;-)
|
|||
|
||||
GeneralElectric |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
И ты все эти вещи сравниваешь с вопросом "какие буквы входят в base64"? Ну-ну.
Действительно, достойное соседство =) |
|||
|
||||
MoLeX |
|
||||||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
согласен есть такое...
а какую версию ты выдвигаешь? и вообще народ:
P.S. что бы прекратить флэйм тему закрываю (вроде она решилась тем более...) Это сообщение отредактировал(а) MoLeX - 29.2.2008, 10:58 -------------------- Amazing ![]() |
||||||
|
|||||||
GeneralElectric |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
MoLeX, я никакую не выдвигаю. Все версии озвучил автор: то ему надо передать несколько переменных в одной строке (для чего функция base64_encode не подходит в принципе). То - передать урл "невидимо" для пользователя. Тоже так себе задачка. Сознавая слабость этих причин, он ухватился за "беспроигрышную" - незамутненный исследовательский интерес.
Однако в эту версию я не верю. У всех задач, ссылки на которые он привел выше, есть практическое применение. У использования base64 вместо специальных функций url-кодирования такого применения нет. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |