Autor Zpráva
23k
Profil
Zdravim.

Udelal sem si mensi skript na vycuc jednotlivych podadresaru s MP3kama. Je hlavni stranka index.php, kam se user dostane az po prihlaseni a pak si jednotlive podadresare s mp3kami taha pres $_GET.

Ja bych tu URL ale potreboval nakym zpusobem zahasovat aby nevidel ve kterem podadresari to je.
Napriklad. ?vypis=./mp3/prvni_Vyber/

zobrazi se mu ...


Jenze nic z toho co znam se nehodi. md5, crypt, ....
Zkousel sem base64_decode ale pri encodingu mi to nevratilo to same :/ coz taky hrube nechapu.

Muzete mi poradit nejaky sifrovaci algoritmus? DIKY!
printf
Profil
no používat cestu uvedenou v GET mi obecně přijde dost nebezpečné, kdoví kam se návštěvník pak dostane. Což takhle použít databázi a správnou cestu k souborům ukládat tam, zatímco uživatel by se dozvěděl jen číslo (klíč) případně nějakou pseudocestu, která nemá se skutečností nic společného ale sloužila by jen pro lepší orientaci.
Nebo se inspirujte použítím scramblerů jako v Enigmě a zkuste to implementovat :-) - možná to už někdo někdy udělal a kód bude někde k dostání...
23k
Profil
printf> muzes mi tykat :).

>> Nebo se inspirujte použítím scramblerů jako v Enigmě a zkuste to implementovat :-)
Nejsem PHP guru ;) sotva sem prolomil GSIP :)))) (GreenhornSkillInPHP)


Root do vstupu s podadresari asi zabezpecim .htaccessem , nicmene stejne nexci aby user videl jaky podadresar si pres GET taha do hlavni stranky.

Btw pres DB jsem to prave delat nechtel bze bych musel nak silene doplnovat jednotlive mp3 do DB :/ a to se mi nexce.

Tak proste jen naky hash kterym zakoduju URL a pri tahani ho skriptu predam opet dekodovany...

Hash, md5 ... se nehodi, base64_encode() mi nevraci to same co decode() ....

Thx
printf
Profil
jde o to jak bezpečné to má být. Pokud jde jen o to, aby cesta nebyla přímo vidět, stačí použít nějakou substituční šífru (jednotlivé znaky se nahradí jinými a pak opačně). Ideální je funkce StrTr, například takhle:

$Kod = Array ( "a" => "v", "b"" => "f", "c'" => ".", atd.... );
$cCesta = StrTr ($Cesta, $Kod);

$cCesta umístit do stránek a po přijetí dekódovat přes převrácené pole:

$Cesta = StrTr ($cCesta, Array_Flip ($Kod));

Ještě mě napadlo dodat, že v $Kod se samozřejmě nesmí opakovat ani klíče ani hodnoty ("klic" => "hodnota"), jinak by se z toho stal další hash (hash nejde jednoznačně dekódovat).
23k
Profil
No vidis, tohle me vubec nenapadlo, trosku si ty pismenka pozmenim za znaky typu &@&đĐ a vec je vyresena. DIKY :)
halogan
Profil
str_rot13()
thingwath
Profil
ROT13 je... skutečně superbezpečný šifrovací algoritmus :-) Caesar by měl radost ;-)
halogan
Profil
thingwath: Já jsem pro vlastní, ale rot13 je taky možnost.
thingwath
Profil
Pokud ta šifra nesmí být jednocestná (ačkoliv přesně to říká název diskuse), tak je to nakonec asi nejjednodušší řešení a výmyšlet něco složitějšího asi nemá cenu. Tedy, doufám že jsem to pochopil dobře, že to nakonec musí být obousměrné (zašifrovat i rozšifrovat).
23k
Profil
tak str_rot13(); absolutne nepouzitelne ... pokud to bude schopnejsi user tak ho to napadne, a opetovnou fci si to rozkoduje. Takze zbyva vlastni hash ...
printf
Profil
no ta substituční šifra se ještě krásně zkomplikuje pokud se použije různá délka kódových slov ("a"=>"hwc", "b" => "g", ..) možná by byl problém taková slova vymyslet (aby se neopakovala a jedno slovo nezačínalo druhým - prefixovost) ale i tak by si s tím StrTr měla celkem dobře poradit.

Myslím ale, že ta jednoznaková slova budou bohatě stačit, protože provádět frekvenční analýzu substitučně zakódované cesty k souboru je téměř nemožné. Navíc kódy se můžou pravidelně měnit...

Jo a ještě dodatek, co je to hash.
23k
Profil
oky zkusim ;) a priste kdyby nekdo chtel neco podobneho at pise NEJEDNOSMERNY "hash" :)
Kajman
Profil *
Jednosměrný hash (třeba md5) lze také použít. Chce to ale vytvořit nějaký seznam všech adresářů s výsledkem hashe jako klíčem a v tom ten výsledek hledat. Toho, že více řetezců může mít stejný hash bych se v tomto případě nebál.

Každopádně je vždy lepší ošetřit server a aplikace tak, aby jsi se nemusel bát, že ti to někdo uhádne. Tedy u něčeho takového mít všude správně nastavená práva u adresářů a soubory mp3, ogg,... třeba šoupnout pomocí rewrite módu Tvému skriptu, který kotroluje to přihlášení a práva.
23k
Profil
>> Jednosměrný hash (třeba md5) lze také použít. Chce to ale vytvořit nějaký seznam všech adresářů s výsledkem hashe jako klíčem a v tom ten výsledek hledat. Toho, že více řetezců může mít stejný hash bych se v tomto případě nebál.


Jasne, to me take napadlo, nicmene bude hafo adresaru s mp3 a ma to byt pro toho cloveka automaticky proces, ten v PHPku umis pouzit ECHO a tim jeho znalosti konci.

Cili se mu to ma generovat automaticky a to ze by si treba do pole pridaval md5(adresare) se mi moc nezda ;) ,tedy spis by se to nezdalo jemu.


Nicmene diky za vsecky tipy , jsem zas o neco chytrejsi (uz se blizim k hranici prumerne chytreho cloveka :P)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0