Ako sprístupniť obsah iba na určitom serveri – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Ako sprístupniť obsah iba na určitom serveri – PHP – Fórum – Programujte.comAko sprístupniť obsah iba na určitom serveri – PHP – Fórum – Programujte.com

 

Tomáš1230
Newbie
9. 12. 2015   #1
-
0
-

Ahoj, mojim cieľom je zariadiť, aby sa obsah nejakého súboru zobrazil iba v prípade, že sa nachádza na serveri, ktorý je v zozname povolených. Ide o nejaké štatistiky, ktoré sa budú prenášať iframom hore dole a je potrebné zabezpečiť, aby si ich nemohol na svoju stránku umiestniť ktokoľvek. Ide to riešiť cez .htaccess?

V prípade, že sa daný server nebude zhodovať s žiadnym povoleným, zobrazí sa iný obsah, nejako sa presmeruje. Je jedno či cez PHP alebo .htaccess.

Vedeli by ste ma nasmerovať k riešeniu. Aké pojmy hľadať? Ako detekovať adresu serveru?

Vopred pekne ďakujem za odpovede.

Nahlásit jako SPAM
IP: 85.159.105.–
peter
~ Anonymní uživatel
3981 příspěvků
11. 12. 2015   #2
-
0
-

Nevim, zda to jde resit pres htaccess.
Nevim, zda to jde resit v PHP.
Nevim, zda to pujde resit javascriptem.

Javascript umoznuje udelat ping do nadrazeneho framu window.top, ale kvuli zbezpeceni asi nedovoli delat s necim vic. Mozna pujde pouzit window.top.name nebo window.top.href a porovnat s window.href.

V PHP by mozna slo pouzit cookies. Ale ty myslim ve framu zustavaji.

Proti php file_get_content lze pouzit session (cookie). Kdyz to cucne jako text, a nesmaze ti tam js kontrolu na cookies z kodu, tak mu to nezobrazi.

V PHP / v linuxu lze nastavit prava ke slozce/souboru, aby k ni nemohl pristupovat kazdy, ale treba jen uzivatel pres heslo. Lze k tomu pouzit u .htaccess autentizaci. Cili, by to neslo cucnout primo pres php, ale pres php pres tvou stranku, kde by ses prihlasoval jako jiny uzivatel. Coz ale nic neresi :) Jen by se k tomu nedostal hacker.

Slo by vytahovat data javascriptem, pres requesty s tim, ze se musi uzivatel prihlasit. Jakoze, kdyz vejde na tvou stranku, tak mu na pozadi udelas fiktivni ucet, cislo s dobou platnosti, ulozis do session. Kdyz by klikl na statistiku, tak bys do requestu pridal id  jeho session. kdyz by takove id neexistovalo, vratilo by to prazdnou stranku.. Cili, kdyz zavre prohlizec, prijde o id. Kdyz 17 min (trvanlivost session na serveru) neklika prijde o id (ale to nevadi, jak klikne, ziska nove). Kdyz to teda cucne php, tak nema session id, primy request neprojde. Kdyz to zobrazi z php, tak request neprojde, protoze zobrazuje text, ale nema tve session. Kdyz to da do iframu primo request, to tez nepujde. Kdyz da do iframu ale tvou stranku, tak ma tve session a projde to. Ale to asi pujde v htaccess nastavit. Tezko rici, iframe se chova jako prohlizec. Cili, tady bys to musel resit tim javascriptem a kontrolovat top.href.  Tim bys pokryl vsechny moznosti, co mne napadaji.

Nahlásit jako SPAM
IP: 2001:718:2601:26c:ec3b:79...–
peter
~ Anonymní uživatel
3981 příspěvků
11. 12. 2015   #3
-
0
-

Pres htaccess lze zakazat, aby se do slozky nedostal nikdo z venci nebo se musel prihlasovat. Ale kdyz si da stranku do iframu, tak iframe se chova jako prohlizec. Takze si prohlizi tvou stranku.

Nahlásit jako SPAM
IP: 2001:718:2601:26c:ec3b:79...–
peter
~ Anonymní uživatel
3981 příspěvků
11. 12. 2015   #4
-
0
-

"cucne php"
Myslim file_get_content(url), tahaji se tak kurzy men z CSOB, treba nebo XML. Pak to zobrazi stranku jako text. Pres htaccess lze myslim takove veci zakazat. Ale jisty si tim nejsem, prohlizec si take cuca stranku, pristupuje na ni z jine adresy nez je adresa serveru.
Ale v kombinaci s tim, ze to tahas pres request a pozadujes session id to neprojde tvou kontrolou na session id.

Nahlásit jako SPAM
IP: 2001:718:2601:26c:ec3b:79...–
Tomáš1230
Newbie
12. 12. 2015   #5
-
0
-

#4 peter
Ako by šlo využiť superglobálne pole $_SERVER? Existuje index $_SERVER['SERVER_NAME']. Prípadne ešte $_SERVER['SERVER_ADDR']. Myslím, že niečo podobné existuje aj v htaccess, takže teoreticky je to jedno pravidlo pre jednu adresu. Keďže ale htaccess asi nevie čítať zo súboru, myslím, že by to šlo vyriešiť celkom jednoduchou podmienkou v PHP... Čo si o tom myslíš?

Nahlásit jako SPAM
IP: 85.237.234.–
Tomáš1230
Newbie
12. 12. 2015   #6
-
0
-

Na localhoste mi toto pekne fungovalo. Riešenie teda vidím v tom vytvoriť nejakú funkciu, ktorá sa includne do každej podstránky. Preletí nejaký špecifikovný súbor, uloží výsledky do poľa, s ktorým sa porovná súčasná adresa. Ak sa ona adresa nebude nachádzať v poli, header(). Ak prebehne všetko v poriadku, funkcia vráti true, čo overím pri prevádzaní, resp. výpise ostatného kódu.

<?php
	echo $_SERVER['SERVER_NAME'];
	if($_SERVER['SERVER_NAME'] == "localhost") {
		echo "OK";
	}
	else {
		echo "Not OK";
	}
?>

Ak by to šlo cez htaccess, ešte lepšie, len s tým nemám skúsenosti.

Nahlásit jako SPAM
IP: 85.159.105.–
Tomáš1230
Newbie
13. 12. 2015   #7
-
0
-

Došlo mi, že toto riešenie nie je použiteľné. Obsah iframu nemá nič spoločné s webom, na ktorom sa zobrazuje. Alternatívnym riešením teda je požiadať klienta, aby si kdesi umiestnil súbor s nejakým identifikátorom. Na domácom serveri potom bude nejaký súbor, v ktorom budú informácie o serveri klienta a jemu priradenom identifikátore. Vždy skontrolujem, či sa na serveri/nejaky-subor.txt nachádza špecifikovaný identifikátor. To ošetrí prehadzovanie súbor medzi tými, ktorí si za službu nezaplatili.

Teraz je otázkou, aká konfigurácia klientovho servera je vyžadovaná, aby sa z neho mohol prečitať požadovaný súbor. Cez file_get_contents() by to teoreticky mohlo ísť. Čo viem, tak to prekoná aj deny from all v .htaccess. Riešenie sa nesmie dať obísť, ale nesmie ani nefungovať kvôli konfigurácii klientovho servera. Nič iné ako toto mi nenapadá... Teoreticky by mohol sám názov súboru niesť identifikátor, aby nebolo nutné čítať ho.

Nahlásit jako SPAM
IP: 85.237.234.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 19 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý