Действительно ли это возможно к urlencode URL, который содержит закодированный URL URL?

У меня есть веб-сайт, который использует Facebook, Твиттер, восхитительные ссылки доли. Они содержат, URL закодировал URL веб-сайта, который Вы хотите совместно использовать. Проблема, я затем хочу отправить URL Facebook/Твиттера/восхитительного через страницу перенаправления php.

Это будет работать для кодирования URL в закодированном URL? Будут побочные эффекты?

Упростить мой вопрос:

www.website.com/redirect.php?url=" URLENCODED (http://www.facbook.com/sharer.php?t='URLENCODED(title)'&u='URLENCODED(http://www.hotel.com)')
5
задан Mark 12 March 2010 в 14:04
поделиться

5 ответов

Вы можете кодировать строку несколько раз с процентным кодированием и получить исходное значение, декодируя ее столько же раз:

$str = implode(range("\x00", "\xFF"));
var_dump($str === urldecode(urldecode(urldecode(urlencode(urlencode(urlencode($str)))))));

Здесь значение $ str кодируется три раза, а затем декодируется три раза. Результат повторного кодирования и декодирования идентичен значению $ str .

Итак, попробуйте следующее:

'http://example.com/redirect.php?url='.urlencode('http://www.facbook.com/sharer.php?t='.urlencode('title').'&u='.urlencode('http://www.hotel.com'))
9
ответ дан 18 December 2019 в 14:44
поделиться

Или просто расшифруйте заголовок и URL, а затем закодируйте всю строку.

0
ответ дан 18 December 2019 в 14:44
поделиться

Как упоминалось ранее, вы можете кодировать URL-адреса сколько угодно, но вы должны знать, что чем больше раз вы кодируете данные URL-адреса, тем больше они увеличиваются в длине, это может быть вдвое больше. что будет раздражать пользователей, если оно будет слишком длинным. также может быть ограничение на длину URL в некоторых браузерах. Также на стороне сервера будут накладные расходы на кодирование и декодирование данных. Короче говоря, вы действительно должны быть уверены, что вам это нужно, прежде чем кодирование / декодирование несколько раз.

0
ответ дан 18 December 2019 в 14:44
поделиться

Вы должны иметь возможность рекурсивно кодировать URL столько раз, сколько захотите. Если вы многократно закодируете такой символ, как /, вы получите:

0: /
1: %3F
2: %%3F
3: %%%%3F

и т. Д.

3
ответ дан 18 December 2019 в 14:44
поделиться

Можно добавить второй уровень кодирования URLEncoding. Идея URLEncoding состоит в том, чтобы предотвратить неправильную интерпретацию сервером любых специальных символов, которые могут присутствовать в текстовой строке. Однако принимающий сценарий должен ожидать дополнительный уровень urlencode () и действовать соответственно.

Или, если вы знаете, что строка была закодирована по URL-адресу, не могли бы вы просто передать ее как есть? Дальнейшее кодирование URL не требуется.

1
ответ дан 18 December 2019 в 14:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: