base64_decode декодирует не закодированные данные

weber_0

Новичок
Есть
PHP:
$link_url = base64_decode($link_url);
в переменную $link_url попадают как кодированные ,так и не кодированные данные.
Если кодированные ,то все нормально отображается ,а как только не кодированные: †Ûiÿúa¥Énn»€
Как сделать проверку на наличия кодировки base64 и пропуск не кодированных данных ?
 

antson

Новичок
Партнер клуба
@weber_0, проверить до декодирования Текст похож на ссылку ?
если нет , то декодировать.
проверить декодированный похож на ссылку ?
если нет выкинуть "неправильный параметр"
 

fixxxer

К.О.
Партнер клуба
в переменную $link_url попадают как кодированные ,так и не кодированные данные.
Вот в этом и проблема.
Если ты не знаешь, base64 у тебя в переменной или нет, то что-то серьезно не в порядке с архитектурой.
Как так вообще получилось?
 

antson

Новичок
Партнер клуба
@WMix, @fixxxer, телепатический режим.
$link_url - вероятнее всего приходит как $_GET
а весь огород из-за "минусинска".

кодирован в 64 или нет неизвестно из-за того, что не все места на скрипт "вы переходите по внешней ссылке" поправлены
в результате "похож ли ссылку" будет достаточно проверить первые 4 буквы http или первые две // (хотя даже это думаю ему не потребуется)

@weber_0, я телепат ?
 

fixxxer

К.О.
Партнер клуба
@antson, а, ру-сеота... Это для меня совсем другой мир, мне непонятный. :)

Но все равно я не понимаю, что мешало назвать link_url с base64 по-другому, или добавить какой-нибудь префикс типа b:.

Тем более, base64 спалить совсем несложно (в яндексе же не идиоты), если это станет массовым - придется добавлять шифрование - как тогда различать?
 

antson

Новичок
Партнер клуба
@fixxxer, я просто предположил самое вероятное откуда могла возникнуть такая задача.
угадал или нет ахз.

Если топик стартер вернется , то может прояснит.
 
Сверху