Functie criptare link fisier

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
nutzu123
Mesaje: 83

Functie criptare link fisier

Salut!
Stie cineva vreo functie de criptare sau schimbare a link-ului? De exeplu am:
site.ro/upload/fisier.mp3
sau
site.ro/upload/videoclip.avi
sa imi transforme intr-ul link:
site.ro/link.php?file=3ed2c1a35bf00bf4fdefa5f77edaa9e9
care vizitatorul sa nu poata descarca respectivul fisier. Asa daca stie link-ul cu terminatia .avi .mp3 .doc .txt poate sa-l descarce de pe site si eu nu vrea sa il poata descarca.

Multumesc!

MarPlo Mesaje: 4343
Salut
Vezi daca te ajuta functia din acest exemplu:

Cod: Selectaţi tot

function crypt_decrypt($str, $mod) {
 // function to encrypt /decrypt $str - https://coursesweb.net/
 // if $mod = 'crypt', encrypts $str, else, decrypts it
  $crypt_decrypt = array(
    'q'=>'a0','w'=>'b1','e'=>'c2','r'=>'d3','t'=>'e4','y'=>'f5','u'=>'g6','i'=>'h7','o'=>'i8','p'=>'j9','a'=>'k0','s'=>'l1','d'=>'m2','f'=>'n3','g'=>'o4','h'=>'p5','j'=>'q6','k'=>'r7','l'=>'s8','z'=>'t9','x'=>'u0','c'=>'v1','v'=>'x2','b'=>'z3','n'=>'y4','m'=>'w5',
    '1'=>'a9','2'=>'b8','3'=>'c7','4'=>'d6','5'=>'e5','6'=>'f4','7'=>'g3','8'=>'h2','9'=>'i1','0'=>'j0',
    '/'=>'k1','_'=>'l2','-'=>'m3','.'=>'89');
  if($mod != 'crypt') $crypt_decrypt = array_flip($crypt_decrypt);

  $ar_str = str_split($str, strlen(key($crypt_decrypt)));
  $n = count($ar_str);
  for($i=0; $i<$n; $i++) {
    if(isset($crypt_decrypt[$ar_str[$i]])) $ar_str[$i] = $crypt_decrypt[$ar_str[$i]];
  }

  return implode('', $ar_str);
}

// daca e ?file=... in URL, decripteaza, altfel, cripteaza numele fisierului si formeaza link-ul
if(isset($_GET['file'])) {
  $file = crypt_decrypt(trim(strip_tags($_GET['file'])), 'decrypt');
}
else {
  $file = 'upload/videoclip.avi';
  $file = 'link.php?file='. crypt_decrypt($file, 'crypt');      // link.php?file=g6j9s8i8k0m2k1x2h7m2c2i8v1s8h7j989k0x2h7
}

$url = 'site.ro/'. $file;
echo $url;
 

Subiecte similare