Zaheslovani adresy

Jde nejak zaheslovat zobrazovana adresa?

ze by to bylo nejak <a href="<? echo md5($stranka)?>">neco</a>

slo by to nejak... s pouzitim kodu krery popisuju na strankach jako nahrazeni ramu...? Dik za odpovedi :)
nejak nechapu, ceho chces dosahnout a proc...
to je stejna snaha, jako znepristupnit zdrojovy kod html stranky. prohlizec vysle dotaz na konkretni stranku - musi tedy znat jeji uri. tudiz ho zna i uzivatel.
neco me napada - dynamicky generovani odkazu, pro kazdou stranku jiny.
do tabulky se ulozi trojice - ip adresa, vygenerovane podivne uri, skutecne uri.
pri kliknuti na odkaz se vyhleda zaznam odpovidajici klici (ip adresa, vygenerovane podivne uri) a nacte se (ne presmeruje) obsah puvodni stranky. Po nacteni se zaznam smaze, na dalsi odkazy se vygeneruji dalsi.
Nevím jestli chápu otázku, ale:

Zobrazovaná adresa skrýt nejde, ale je možno úspěšně pomocí PHP zamaskovat skutečné umístění souborů na serveru.

Jestli například máš soubor honza.html umístěný na
http://lama.wz.cz/soubory/honza.html
je možné zamaskovat jeho skutečnou adresu a přistupovat k němu pomocí URL třeba
http:/lama.wz.cz/?soubor=1sfd24sdf přičemž ale tahle adresa už skrýt nepůjde, bude vždycky pro návštěvníka stránek čitelná.
nejde me o skryti ale o to aby tam misto odkazu napr:

href="index.php?link=neco"
bylo:
href="index.php?link=212sa24s4a2d45fd54"

a samozdrejme aby tomu kod krery to ma spracovat rozumel...

ale asi to nema moc smysl kdyz nad tim ted tak premyslim... jen to bude vypadat jinak co?
Tak asi nejjednudušeji takhle:

index.php:

<?php

if($_GET['link']=="212sa24s4a2d45fd54") include 'neco.php';

?>
pro soubory v jednom adresari muzes zkusit tohle (na podadresare to nefunguje):

CREATE TABLE `links` (
`uri` varchar(255) NOT NULL,
`gen_uri` varchar(16) NOT NULL,
`platnost` timestamp NOT NULL,
PRIMARY KEY (`gen_uri`)
) ENGINE=MyISAM;


test.php:

<?php
mysql_connect("localhost","root","");
mysql_select_db("test");

function generuj_link($orig_uri){
// funkce nic nevraci, pouze vypisuje.
$a_vyber = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',0,1,2,3,4,5,6,7,8,9);
$gen_uri = '';
srand((double)microtime()*1000000);
for($i=0;$i<16;$i++) $gen_uri .= $a_vyber[array_rand($a_vyber)];
$orig_uri = addslashes($orig_uri);
mysql_query("DELETE FROM links WHERE platnost < NOW()");
mysql_query("INSERT INTO links VALUES ('$orig_uri','$gen_uri',NOW()+1200)");
echo "redir.php?$gen_uri";
}
?>

<a href='<?php generuj_link("test.php"); ?>'>klikni sem</a>


redir.php:

<?php
if ($_SERVER["QUERY_STRING"]=='') die("Neplatny odkaz.");
mysql_connect("localhost","root","");
mysql_select_db("test");
$res = mysql_query("SELECT uri FROM links WHERE gen_uri='$_SERVER[QUERY_STRING]' LIMIT 1");
echo mysql_error();
if (!mysql_num_rows($res)) die("Neplatny odkaz. Obnovte puvodni stranku.");
include(mysql_result($res,0,0));
?>
a co pouzit rewrite_mod? :)
mod_rewrite? ale ja mel tim skriptem namysli dynamicky generovany nazev, ne staticky. to by bylo zbytecne, pouze staticky zakryt skutecne jmeno souboru.
$hash["a"]="f/s1";
$hash["b"]="re";
$hash["c"]="m0n";
$hash["d"]="h";
$hash["e"]="4";
$hash["f"]="96d3";
$hash["g"]="[]";
$hash["h"]="aaf";
$hash["ch"]="cvx4";
$hash["i"]="4fd12";
$hash["j"]="c47";
$hash["k"]="1kk";
$hash["l"]="_99x_";
$hash["m"]="331";
$hash["n"]="$14$";
$hash["o"]="_g";
$hash["p"]="-f-d";
$hash["q"]="-";
$hash["r"]="cc";
$hash["s"]="r";
$hash["t"]="y9s";
$hash["u"]="x";
$hash["v"]="oi65";
$hash["w"]="3d";
$hash["x"]="fa6";
$hash["y"]="_r4";
$hash["z"]="99";
$hash["_"]="-1";
$hash["-"]="62";
$hash["/"]="qw";


function DecodeDir($dat){
global $hash;
$dir=strtr($dat, $hash);
return $dir;
}

function EncodeDir($dat2){
global $hash;
$dir2=strtr($dat2, Array_Flip ($hash));
return $dir2;
}