2015-02-04 2 views
0

Вот мой вопрос, я пытаюсь скрыть значение адреса в URLEncrypt значение строки PHP запроса в URL

URL что-то вроде этого

example.com/linkdl/preview/index.php?address='http://mysiteexample.com' 

Я пытаюсь скрыть, ?address='http://mysiteexample.com' часть, но я не уверен, что это лучший способ

у меня есть идея использовать base64_encode($adresa), но я не уверен, у меня есть проблемы с (кодирование/декодирование специальных) символов в URL

$click = 'OtvoriProzor("'.$file_path.'&pk='.$sesija->pk.'&adresa='.base64_encode($adresa). 
        '&IDIstorijaElement='.$element->GetId().'", "Prevod", 700, 500);'; 

Это очень небезопасно, может добавить некоторые функции для шифрования, для шифрования и дешифрования parametar, или md5 поможет мне здесь. Также должен ли я использовать функцию url_decode url_decode?

+0

возможно дубликат [Декодирование base64 строка - PHP] (HTTP: // StackOverflow .com/questions/18842075/decode-base64-string-php) – Ejaz

+0

использовать POST вместо GET ... и если вы хотите защитить свои данные, используйте https вместо http –

+1

Пожалуйста, укажите, с какой целью вы хотите «скрыть», это значение. Эстетические причины? "Безопасность"? Секретность? Что именно вам нужно защищать от кого? – deceze

ответ

1

Поскольку md5 является алгоритмом хеширования, вы не сможете вернуть то, что вы закодировали. Вы можете использовать base64 и UrlEncode, чтобы избежать проблем с некоторыми персонажами:

<?php 
$url = urlencode(base64_encode($adresa)); 
?> 

И вы декодирует его:

<?php 
$addr = base64_decode(urldecode($_GET['adresa'])); 
?> 
+0

Могу ли я использовать функции криптографии –

+0

1) Ваше декодирование нужно отменить, 2) это просто легкая обфускация, здесь ничего не скрывается. – deceze

+0

Вы не получите чистый URL-адрес в параметре GET, мне не нужно ничего отменить – Phate01

Смежные вопросы