html — процентное кодирование всей строки PHP в пронумерованные значения ASCII для обфускации

Я хотел бы как-то скрыть содержимое $url = "http://blah.somedomain.com/contents/somefolder/somefile.htm"; поэтому я могу использовать их для ссылок, но чтобы люди не могли легко прочитать URL-адреса при просмотре исходного кода страницы. Запутанный URL все еще должен работать в браузере при нажатии на него, хотя другие методы запутывания, на которые я смотрел, бесполезны.

То, что мы ищем, например, $obscureurl = "%3A%2F%2F"…так далее

Есть идеи? Благодарю.


Редактировать: Спасибо за предложения, но, чтобы уточнить, я должен был сказать, что я не после кодирования в сущности HTML (# значения), я после Процент кодирования (шестнадцатеричные значения в ASCII).

Например, чтобы изменить [email protected] в: %68%65%6c%6c%6f%40%6d%65%2e%63%6f%6d

Таблица ASCII здесь для гексагона каждой буквы и символа: http://ascii.cl/

Возможен ли такой вид полного преобразования с помощью PHP? Спасибо

1

Решение

$url = '..';
$encoded = join(array_map(function ($byte) { return "%$byte"; }, str_split(bin2hex($url), 2)));

Это по сути весь механизм кодирования. Возьмите необработанные байты в гексе (bin2hex), 2 символов на байт и добавьте %,

Не то, чтобы это действительно сделало бы много для запутывания. Браузер может даже не отображать его в закодированной форме, и даже поисковые системы могут отображать только декодированную форму. Кроме того, вы все еще создаете канонический URL. Неважно, что именно содержит этот URL; если у людей есть ссылка на него, у них есть ссылка на него, независимо от того, насколько читаема эта ссылка.

1

Другие решения

Я вижу 2 простых способа добиться этого:

1

По вопросам рекламы [email protected]