Autor Zpráva
PecanCZ
Profil
Zdravím, chtěl bych se zeptat, jestli jde nějak udělat aby se určitá stránka, např. uzivatel.php?id=* načetla do stránky přes include nebo iframe, ale pokud bych v prohlížeči přešel přímo na adresu www.mujweb.cz/uzivatel.php?id=* tak aby se vypsalo např. Nepovolený přístup.

Díky za odpověď
Str4wberry
Profil
Něco podobného jsme řešili nedávno ve vlákně Jak zjistit v čem se otevírá url?.
Pan X
Profil
Zablokovat přístup by mělo jít pomocí .htaccess a soubory by měli zůstat includovatelné
P.S. Tak teď nevím jestli jsem tě dobře pochopil
PecanCZ
Profil
Str4wberry:
toto řešení by mi pomohlo, ale já mám v url měnící se číslo, jak to mám nahradit namísto $_GET["id"] == "ano"? díky
Pan X
Profil
Buď můžeš ověřovat jestli je $_GET["id"]
if($_GET['id'])
popřípadě ještě přidat oveření zda jde o číslo
is_int($_GET['id'])
nebo přidat do adresy další parametr
PecanCZ
Profil
Pan X:
vyzkoušel jsem tvé řešení, ale prostě když jsem na stránce, tak se mi vypíše, že je všechno v pořádku a když jsem ve stránce, kde se stránka vkládá, že to vypíše to samé

část kódu:
if($_GET['id']) {echo 'ano';} else {echo 'ne';}
Pan X
Profil
PecanCZ:
Nevím co přesně potřebuješ. Ale nejsem si jistý, že to co poradil Str4wberry je správné řešení tvého problému.

Pokud chceš aby soubor uzivatel.php nešel načíst přímo z adresy dej si ho do nějakého adresáře a přidej k němu soubor .htaccess a do něj napiš toto: Deny from all

Soubor by pak neměl jít načíst přímo z prohlížeče, ale vložit na web pomocí include jít měl.

Pokud bys toto řešení chtěl odejít můžeš si v souboru do kterého se chystáš includovat (hlavní soubor) dát
$nejakeOvereniSouboru = TRUE; // nebo cokoliv jiného 
a v souboru uzivatele.php dát podmínku na ověření té proměnné, která byla inicializovaná v hlavním souboru.
Oveření:

if($nejakeOvereniSouboru != frue) { echo 'Nesmíte načítat tuto stránku přímo'; } else { /* zbytek kódu */ }
PecanCZ
Profil
Pan X:
zkoušel jsem ten způsob s ověřováním, ale prostě na to nemůžu přijít...prostě když includuju do stránky nějaký soubor, takže potřebuju aby jeho obsah nemohl nikdo přečíst, ale web jo, zkoušel jsem to i přes dva soubory, že jsem includoval soubor, který do sebe přes frame vkládal další soubor, ve kterém byl následně ten text, který potřebuju zakódovat, ale frame blbne v tom, že to píše tu hlášku i když jsem normálně na stránka i když ji mám otevřenou samotnou v prohlížeči
PecanCZ
Profil
jen doplním, že já potřebuju, aby když si návštěvník zobrazí zdroják stránky, tak aby neviděl obsah souboru uzivatel.php
Pan X
Profil
PecanCZ:
tak aby neviděl obsah souboru uzivatel.php

Pokud použiješ include tak kód bude vidět vždycky stejně tak u iframe se dá zobrazit zdrojový kód rámce... Tomu těžko zabráníš.
A zkoušel jsi ten .htaccess v něm můžeš zablokovat přístup do některých souborů s tím, že je include ale klidně načte
PecanCZ
Profil
Pan X:
jo, zkoušel jsem denny from all, ale když načtu pomocí include do stránky ten soubor, tak se tam ty data načtou a po zobrazení zdroje jdou vidět
Pan X
Profil
PecanCZ:
Tomu u include nezabráníš, ani u iframe... Možná že ajax (jQuery,atd...) toto mají nějak ošeřené, ale tím si nejsem vůbec jistý...

Možné by bylo odchytávat a blokovat kliknutí pravým tlačítkem myši, ale to je k ničemu....

Možná poradí někdo zkušenější
Amunak
Profil
PecanCZ:
Taková rada, která tu určitě nezní poprvé - pokud návvštěvníkovi chceš data předat, tak mu je dej, v tom případě uvidí i kód (vždy to jde nějak zjistit, dá se to jen lehce znepříjemnit) nebo pokud nechceš aby je viděl, tak mu je nedávej. Nemá smysl zakazovat nějaké klikání myší.

Vlastně si moc nedokážu představit případ, kdy by to bylo potřeba. Jaký k tomu máš důvod?

Napadá mě, že by se to dalo jak říkal Pan X načítat třeba ajaxem, myslím, že se to pak v klasickém zobrazení kódu neukáže. Šlo by asi také kód nějak zakrýt třeba pomocí base64 a js.
motik
Profil
PecanCZ:
jen doplním, že já potřebuju, aby když si návštěvník zobrazí zdroják stránky, tak aby neviděl obsah souboru uzivatel.php

tak v souboru uzivatel.php nic nevypisuj a nebude to potom vidět na té hlavní stránce!!
---------------------------------------------------------------------------------------------------------------
těžko se radí, když tu není ani ukázka kódu, třeba je tvůj problém něco trošku jiného
PecanCZ
Profil
motik:
no jo, to je zase rada za všechny peníze
motik
Profil
PecanCZ:
no jo, to je zase rada za všechny peníze
kolik mi za to dáš? šak to ale plní tvůj požadavek..

třeba by někoho něco napadlo, kdyby viděl, jak to máš řešený (ale to už se opakuju)
PecanCZ
Profil
motik:
kdybych za to něco nabízel tak bych to dal do práce a zakázky

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0