@sochi-russia

Почему не работает кодирование и декодирование в Base64?

Файл
direct.php


<?php if($_GET['url'])
{
$url = base64_decode($_GET['url']);
if (!$url)
{
$url = "https://вашдомен.ру";
}
if (!preg_match('#(https?|ftp)://\S+[^\s.,>)\];\'\"!?]#i',$url))
{
exit ("<p>Неверный формат запроса! Проверьте URL!</p>");
}
header("Location:$url");
exit();
} ?>


На главной
<?php
$mytext=preg_replace('~(<a(?>.*?href))=(["\'])([a-z0-9]++://(?![a-z0-9\.]*?site\.ru).*?)\2~eSi', '"\1=\"https://site.ru/direct.php?url=".base64_encode("$3")."\" target=\"_blank\"";', $mytext);?>

site.ru и вашдомен.ру
- заменить на свой домен
Суть такова что заменитель, подставляет в переменную внутреннего адреса внешний адрес, и дополнительно кодирует её в
base64
.
Но код не срабатывает почему? Абсолютно ничего он делает на сайте
  • Вопрос задан
  • 235 просмотров
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Смотреть, дебажить, думать...
<?php 
if($_GET['url']){
    $url = base64_decode($_GET['url']);
    var_dump($_GET);
    if (!$url){
        $url = "https://вашдомен.ру";
    }
    var_dump($url);
    if (!preg_match('#(https?|ftp)://\S+[^\s.,>)\];\'\"!?]#i',$url)){
        exit ("<p>Неверный формат запроса! Проверьте URL!</p>");
    }
    //header("Location:$url");
    exit();
} ?>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы