W necie znalazłem jakiś prosty kod do zakodowania linków w których chce umieścić ścieżkę do katalogu. Oto moje testowe pliki
Plik kodujący link
function encryptlink($pure_string, $encryption_key) {
$iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$encrypted_string = mcrypt_encrypt(MCRYPT_BLOWFISH, $encryption_key, utf8_encode($pure_string), MCRYPT_MODE_ECB, $iv);
return $encrypted_string;
}
$katalog = './katalog';
$kod = $katalog;
//$kod = urlencode(encryptlink($katalog, 'discopolo'));
echo '<a href="decrypt.php?var='.$kod.'">KLIKNIJ</a>';
Plik dekodujący link i otwierający katalog
function decryptlink($encrypted_string, $encryption_key) {
$iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$decrypted_string = mcrypt_decrypt(MCRYPT_BLOWFISH, $encryption_key, $encrypted_string, MCRYPT_MODE_ECB, $iv);
return $decrypted_string;
}
$plik = $_REQUEST['var'].'/'.date("Y").'.inc';
//$plik = decryptlink(urldecode($_REQUEST['var']),'discopolo').'/'.date("Y").'.inc';
echo $plik;
include ($plik);
echo '<br />'.$zmienna;
Plik który ma być otwarty
$zmienna = 'Napis ktory powinien sie pojawic po wczytaniu pliku';
Bez kodowania, czyli tak jak teraz wszystko działa ok. Natomiast wystarczy włączyć kodowanie, czyli od komentować zakomentowane linie żeby się posypało. Oczywiście widać że zmienna $plik jest w obu przypadkach taka sama. Więc chyba to nie jest problem z funkcjami szyfrującymi ani z funkcją date() jak wcześniej przypuszczałem. Robiłem też utf8_encode($plik) bo myslałem że coś z kodowaniem wynikowego stringu może być nie tak.
Za chiny ludowe nie wiem o co chodzi.