Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

restrikcija pristupa samo na index.html direktno

[es] :: PHP :: restrikcija pristupa samo na index.html direktno

Strane: 1 2

[ Pregleda: 3022 | Odgovora: 37 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vladared
Vladimir Crveni
Sistem Administrator
Novi Sad

Član broj: 50291
Poruke: 1026
*.dynamic.sbb.rs.

Sajt: www.itpoint.rs


+394 Profil

icon restrikcija pristupa samo na index.html direktno10.03.2022. u 17:41 - pre 24 meseci
Da li može neko da mi pomogne? U php-u sam "početnik" ne baš apsolutni ali realno nisam nešto radio u njemu. Treba mi ideja kako se može izvršiti restrikcija pristupa sajtu, odnosno da jedini url kojem se može pristupiti je npr https://nekiurl/index.html i sve ostalo (šta god da pokušaju direktno spolja da gađaju) da uvek redirektuje na ovaj početni. Naravno ako sa početnog kliknem na link recimo https://nekiurl/about.html da to radi kako treba. Na netu sam našao sve i svašta, ali kod mene jednostavno to ne radi (ili ja ne znam dobro da protumačim šta su napisali).
Bitno je da naglasim da je nginx server upitanju tako da razni .htaccessi otpadaju, a za php znam da može, ali ne znam da pravilno izvedem.
 
Odgovor na temu

TheSpiridon

Član broj: 340665
Poruke: 436
*.dynamic.a1.rs.



+74 Profil

icon Re: restrikcija pristupa samo na index.html direktno10.03.2022. u 18:21 - pre 24 meseci
Na svakoj stranici stavi:

Code:


if defined('nesto') {

header('Location: http://www.example.com/');

}

A na index.php stavi vrednost za 'nesto'

(define)



Ne sećam se tačno ali u tom smislu. To znači da na index.php definišeš neki parametar. I ako neko kuca neku unutrašnju stranu ta varijabla ne postoji i vraća korisnika na index.php A na index.php definišeš tu varijablu, tj. konstantu i to je to, onda može da se kreće unutar sajta.

Savetujem dalju komunikaciju sa : https://www.php.net/download-docs.php

Uglavnom za redirekciju koristiš 'header' a za definiciju konstanti 'define' i proveru 'defined' - te tri komande proveri.
 
Odgovor na temu

vladared
Vladimir Crveni
Sistem Administrator
Novi Sad

Član broj: 50291
Poruke: 1026
*.dynamic.sbb.rs.

Sajt: www.itpoint.rs


+394 Profil

icon Re: restrikcija pristupa samo na index.html direktno10.03.2022. u 21:19 - pre 24 meseci
I opet se ništa ne događa...
dakle definisao sam na prvoj strani:
<?php
...
define("nešto","nešto");
?>
i recimo na aboutus.html sam stavio ovako kako si rekao:
<?php
...
if defined("nešto") {

header('Location: index.html');

}
?>

i ništa se ne događa...
 
Odgovor na temu

Deunan

Član broj: 338178
Poruke: 83
2a06:5b01:3f2:d000:186a:5905..



+21 Profil

icon Re: restrikcija pristupa samo na index.html direktno10.03.2022. u 22:42 - pre 24 meseci
Imas li pristup tom nginx-u?
Samo dodaj u conf blok:
Code:

location / {
        try_files $uri $uri/ /index.html?$args;
}
 
Odgovor na temu

TheSpiridon

Član broj: 340665
Poruke: 436
*.dynamic.a1.rs.



+74 Profil

icon Re: restrikcija pristupa samo na index.html direktno11.03.2022. u 02:23 - pre 24 meseci
Citat:
vladared:
I opet se ništa ne događa...
dakle definisao sam na prvoj strani:
<?php
...
define("nešto","nešto");
?>
i recimo na aboutus.html sam stavio ovako kako si rekao:
<?php
...
if defined("nešto") {

header('Location: index.html');

}
?>

i ništa se ne događa...


Da, moja greška. Treba suprotno:


<?php
...
if defined("nešto") {
} else {
header('Location: index.html');
}
?>

Ili probaj umesto 'defined', da staviš '!defined'

-----------------------------

OVAKO:

index.php:
Code:


define('PRISTUP', 'odobren');



ostalo.php
Code:


if (!defined('PRISTUP')) {
    
    header('Location: index.php');
}

 
Odgovor na temu

vladared
Vladimir Crveni
Sistem Administrator
Novi Sad

Član broj: 50291
Poruke: 1026
*.dynamic.sbb.rs.

Sajt: www.itpoint.rs


+394 Profil

icon Re: restrikcija pristupa samo na index.html direktno11.03.2022. u 15:37 - pre 24 meseci
Na moju žalost ništa od ovoga mi ne radi ni dalje
 
Odgovor na temu

Zlatni_bg
Nikola S
Beograd

Član broj: 65708
Poruke: 4420
*.dynamic.sbb.rs.



+498 Profil

icon Re: restrikcija pristupa samo na index.html direktno11.03.2022. u 16:40 - pre 24 meseci
Ovo nikako ne mozes bezbedno da resis na PHP layeru. To je posao za nginx/apache. Tu onda redirektujes na index.php kao entry point.
THE ONLY EASY DAY WAS YESTERDAY
 
Odgovor na temu

TheSpiridon

Član broj: 340665
Poruke: 436
*.dynamic.a1.rs.



+74 Profil

icon Re: restrikcija pristupa samo na index.html direktno11.03.2022. u 16:59 - pre 24 meseci
Jel si ti podigao web server? Mora da radi. Gde ti je taj sajt, gde ga hostuješ? Ne sme da ima nastavak .html nego .php
 
Odgovor na temu

TheSpiridon

Član broj: 340665
Poruke: 436
*.dynamic.a1.rs.



+74 Profil

icon Re: restrikcija pristupa samo na index.html direktno11.03.2022. u 19:16 - pre 24 meseci
Nešto sam zaboravio. Na početku svake .php skripte, stavi komandu:

Code:

session_start();
 
Odgovor na temu

vladared
Vladimir Crveni
Sistem Administrator
Novi Sad

Član broj: 50291
Poruke: 1026
*.dynamic.sbb.rs.

Sajt: www.itpoint.rs


+394 Profil

icon Re: restrikcija pristupa samo na index.html direktno12.03.2022. u 00:40 - pre 24 meseci
Sada ne dozovoljava pristup, ali ni kada kliknem na button na stranici index.php takođe ne pušta... Kada stavim komentar na ubačene redeove kao u ranijem primeru index.php sve radi kako treba, ali može da se pristupa direktno sa linka:
Code:


define('PRISTUP', 'odobren');



ostalo.php
Code:


if (!defined('PRISTUP')) {

header('Location: index.php');
}


 
Odgovor na temu

Zlatni_bg
Nikola S
Beograd

Član broj: 65708
Poruke: 4420
*.dynamic.sbb.rs.



+498 Profil

icon Re: restrikcija pristupa samo na index.html direktno12.03.2022. u 02:19 - pre 24 meseci
Bez koda moze samo da se nagadja. I ovo ako nije u edukativne svrhe je totalno losa praksa. Ne resavaj pristup individualnim fajlovima preko php koda. Napravi entry point i odatle proveravaj sta ti treba dalje. Ponavljaces kod u svakom fajlu na serveru i opet nista sem PHP fajlova nece biti zasticeno, poput asseta.
THE ONLY EASY DAY WAS YESTERDAY
 
Odgovor na temu

TheSpiridon

Član broj: 340665
Poruke: 436
*.dynamic.a1.rs.



+74 Profil

icon Re: restrikcija pristupa samo na index.html direktno12.03.2022. u 09:06 - pre 24 meseci
Pa, hbg. ne mogu ovako napamet, davno sam radio sa php.
 
Odgovor na temu

Doktor Hlad

Član broj: 337261
Poruke: 739



+192 Profil

icon Re: restrikcija pristupa samo na index.html direktno12.03.2022. u 18:37 - pre 24 meseci
Citat:
vladared:
Da li može neko da mi pomogne? U php-u sam "početnik" ne baš apsolutni ali realno nisam nešto radio u njemu. Treba mi ideja kako se može izvršiti restrikcija pristupa sajtu, odnosno da jedini url kojem se može pristupiti je npr https://nekiurl/index.html i sve ostalo (šta god da pokušaju direktno spolja da gađaju) da uvek redirektuje na ovaj početni. Naravno ako sa početnog kliknem na link recimo https://nekiurl/about.html da to radi kako treba. Na netu sam našao sve i svašta, ali kod mene jednostavno to ne radi (ili ja ne znam dobro da protumačim šta su napisali).
Bitno je da naglasim da je nginx server upitanju tako da razni .htaccessi otpadaju, a za php znam da može, ali ne znam da pravilno izvedem.


Totalno sam sokiran cinjenicom da ovde niko od onih koji su ti odgovorili zapravo nije procitao sta ti zaista hoces (ili jos gore - nije razumeo) i svi pisu nesto a ne znaju ni sami sta pisu. Bez uvrede bilo kome ali ako ne znate kako da covek resi onda nije obavezno da pisete.

1. U svakom slucaju, posto si napisao u php forumu onda pretpostavljam da hoces da resis stvar u php-u. To za pocetak znaci da treba fajlovi da budu .php kako bi web server znao koji interpreter da koristi.

2. Na pocetku svakog fajla treba da proveris referrer vrednost. Ako je referrer neka stranica sa tvog sajta onda dozvolis dalje ucitavanje. Ako nije onda mu posaljes http 302. Obrati paznju da posle 302 hedera ne smes da imas bilo koji drugi output.

I to je sve. Prosto i jednostavno.
 
Odgovor na temu

Zlatni_bg
Nikola S
Beograd

Član broj: 65708
Poruke: 4420
*.dynamic.sbb.rs.



+498 Profil

icon Re: restrikcija pristupa samo na index.html direktno12.03.2022. u 19:00 - pre 24 meseci
I napravi security nightmare kad neko edituje source u browseru i doda sebi referera na neki link. Vrlo pametno.

S razlogom sam rekao da ne treba ni diskutovati o PHP resenju ovde, bas jer ovo NIJE ZA PHP. Samim tim je i vezano za PHP jer ce neko nauciti da ne resava taj problem na taj nacin!
THE ONLY EASY DAY WAS YESTERDAY
 
Odgovor na temu

Doktor Hlad

Član broj: 337261
Poruke: 739



+192 Profil

icon Re: restrikcija pristupa samo na index.html direktno12.03.2022. u 20:25 - pre 24 meseci
Citat:
Zlatni_bg: I napravi security nightmare kad neko edituje source u browseru i doda sebi referera na neki link. Vrlo pametno.

S razlogom sam rekao da ne treba ni diskutovati o PHP resenju ovde, bas jer ovo NIJE ZA PHP. Samim tim je i vezano za PHP jer ce neko nauciti da ne resava taj problem na taj nacin!


Dve stvari.

Prvo: Covek ne zna kako nesto da napravi i pitao je za pomoc. Ne vidim da je bilo gde pisao da ima bilo kakve bezbednosne probleme niti da zeli da ogranicava pristup "fajlovima". Tako da mi je izuzetno fascinantno da ti pricas o resavanju problema a da pokretac teme nije uopste naveo da ima bilo kakav problem (osim problem da ne zna sam kako da uradi to sto hoce). Zasto se na ovom forumu toliko pati da se umesto odgovora na pitanja koja su postavljena uporno daju odgovori na pitanja koja nisu postavljena?

Drugo: Ja sam u svojoj prethodnoj poruci naveo da svi koji ucestvuju na ovoj temi nisu procitali sta je covek napisao ili nisu razumeli sta pita. Ti izgleda spadas u ovu drugu grupu. Covek hoce da natera sve korisnike koji dodju prvi put na njegov sajt da dodju prvo na pocetnu stranicu a posle toga mogu kuda hoce. Stvar je iskljucivo funkcionalno/estetsko/marketinske prirode. Nema govora o bilo kakvoj bezbednosti jer ce svako ionako, nakon sto poseti samo prvu stranu, moci da ide kuda god pozeli. I to sto ce mozda neko u svom browseru da lazira referrer.... mislis da je neko toliko dokon da se time bavi a sve da bi direktno posetio "about" stranu?

Mislim da je ovde najvaznije parce koda za sve vas koji po svaku cenu morate da ucestvujete u temi:

Code:
$sujeta = false;
 
Odgovor na temu

Zlatni_bg
Nikola S
Beograd

Član broj: 65708
Poruke: 4420
*.dynamic.sbb.rs.



+498 Profil

icon Re: restrikcija pristupa samo na index.html direktno13.03.2022. u 00:23 - pre 24 meseci
U pravu si. Nisam video drugi deo jer sam previse bio fokusiran na prvi - da neko preko PHP-a pokusava da zakljuca pristup fajlovima na httpdu.

Ipak bih ostao pri inicijalnoj ideji da radi neki "bootstrapping" od samog starta - sto pre nauci da koristi entry point u phpu, bolje po njega, vise vremena ce ustedeti. Znam, poceci... zeznuto je razmisljanje na takav nacin, ali sto pre se razvije - to bolje, kvalitetniji kod bude nego kad ima 80 .php fajlova u root diru da vise ne znas gde je sta. Znaci da ima neki basic router u index.php. Moj savet svima koji pocinju sa PHP-om i poznaju elementarne stvari u programiranju. Zasto? Imas vecu kontrolu nad celim sistemom, i app-wide ce ti raditi sve ono sto bi morao da guras u svaku skriptu.

I da, ovde je najbrze i najefikasnije resenje koriscenje $_SERVER promenljive. Napravio bih check gde ukoliko postoji referrer, loaduje index.php. Ukoliko ne postoji, znaci da ide sa originalne stranice (koliko se secam, moze da dampuje $_SERVER i proveri). Potom bih require_once-ovao taj fajl pri pocetku svake stranice.

Code:

// start stvakog PHP fajla sem indexa:

if ($_SERVER['HTTP_REFERER'])
 {
    require_once("index.php");
    exit();
 }


A sto se tice setovanja headera, moze i to:

Code:
header('Location: /index.php');

THE ONLY EASY DAY WAS YESTERDAY
 
Odgovor na temu

vladared
Vladimir Crveni
Sistem Administrator
Novi Sad

Član broj: 50291
Poruke: 1026
*.dynamic.sbb.rs.

Sajt: www.itpoint.rs


+394 Profil

icon Re: restrikcija pristupa samo na index.html direktno13.03.2022. u 16:37 - pre 24 meseci
Citat:
Zlatni_bg: U pravu si. Nisam video drugi deo jer sam previse bio fokusiran na prvi - da neko preko PHP-a pokusava da zakljuca pristup fajlovima na httpdu.

Ipak bih ostao pri inicijalnoj ideji da radi neki "bootstrapping" od samog starta - sto pre nauci da koristi entry point u phpu, bolje po njega, vise vremena ce ustedeti. Znam, poceci... zeznuto je razmisljanje na takav nacin, ali sto pre se razvije - to bolje, kvalitetniji kod bude nego kad ima 80 .php fajlova u root diru da vise ne znas gde je sta. Znaci da ima neki basic router u index.php. Moj savet svima koji pocinju sa PHP-om i poznaju elementarne stvari u programiranju. Zasto? Imas vecu kontrolu nad celim sistemom, i app-wide ce ti raditi sve ono sto bi morao da guras u svaku skriptu.

I da, ovde je najbrze i najefikasnije resenje koriscenje $_SERVER promenljive. Napravio bih check gde ukoliko postoji referrer, loaduje index.php. Ukoliko ne postoji, znaci da ide sa originalne stranice (koliko se secam, moze da dampuje $_SERVER i proveri). Potom bih require_once-ovao taj fajl pri pocetku svake stranice.

Code:

// start stvakog PHP fajla sem indexa:

if ($_SERVER['HTTP_REFERER'])
 {
    require_once("index.php");
    exit();
 }


A sto se tice setovanja headera, moze i to:

Code:
header('Location: /index.php');


Ovo je ok ideja, kao i sve što je rečeno. Interesuje me ako bi ovako definisao da li bi to prošlo ili je ovo višak?

Code:

if ($_SERVER['HTTP_REFERER'] =="https://nekiurl.com/index.php")
 {
    require_once("index.php");
    exit();
 }
else{
header('Location: /index.php');
 }



 
Odgovor na temu

Doktor Hlad

Član broj: 337261
Poruke: 739



+192 Profil

icon Re: restrikcija pristupa samo na index.html direktno13.03.2022. u 22:07 - pre 24 meseci
Citat:
vladared: Ovo je ok ideja, kao i sve što je rečeno. Interesuje me ako bi ovako definisao da li bi to prošlo ili je ovo višak?

Code:

if ($_SERVER['HTTP_REFERER'] =="https://nekiurl.com/index.php")
 {
    require_once("index.php");
    exit();
 }
else{
header('Location: /index.php');
 }



Deluje mi kao da preskaces neke stvari koje smo ti rekli. Moras da obratis paznju na svaki detalj koji ti govorimo i sto je jos mnogo vaznije da razumes sve sto ti govorimo. Ne mozes samo da kopiras kod koji ti neko napise i da se nadas da ce da radi.

Znaci, ovde kod kaze sledece: "Ako je dosao sa index.php onda mu prikazi index.php". To ne zvuci bas logicno, zar ne? Prepisivanje koda ne ide. Moras da razumes program koji pises da bi na kraju radilo sve kako treba.

Dalje, ako mu uradis require onda browser i posetioca dovodis u zabludu. On ce da bude npr. na stranici about.php a ti uradis require pa mu prikazes sadrzaj sa index.php. Koliko sam ja razumeo inicijalnu poruku koju si napisao ti zelis da uradi redirekciju a to radis samo ako klijentu posaljes odgovarajuci header (u tvom slucaju http 302).
 
Odgovor na temu

Tpojka
Ratio, Logic

Član broj: 60114
Poruke: 209

ICQ: 491318095


+33 Profil

icon Re: restrikcija pristupa samo na index.html direktno13.03.2022. u 22:36 - pre 24 meseci
Iako business requirements liči na jedan od "Srbin 3aje8'o Google", iz svega što sam od OP-a pročit'o izvlačim zaključak
da je rješenje sa postavljanjem cookie-ja. Naravno uz dalje obavještenje vizitora kako će mu podaci biti sačuvani i u koje svrhe.

1. (Na bilo kojoj strani koja nije home page) Ako nije postavljen cookie, redirekt na home page
2. Na home page-u postavi cookie ako nije postavljen

I to je to. Cijenim da može i sa session al' eto k'o još jedna babica predlažem cookie. Suštinski se slažem i sa ovim što Dr. 'Lad piše.
-A Tpojke su Đuro - šta?
-Osnovne jedinice diverzantskih grupa!
 
Odgovor na temu

Doktor Hlad

Član broj: 337261
Poruke: 739



+192 Profil

icon Re: restrikcija pristupa samo na index.html direktno13.03.2022. u 23:16 - pre 24 meseci
Citat:
Tpojka: 1. (Na bilo kojoj strani koja nije home page) Ako nije postavljen cookie, redirekt na home page


Vidim da ce ovo da radi prvi put. A kako ces da obezbedis da radi i, na primer, sledeceg dana kada se browser ponovo pojavi na non-index strani a ima cookie koji je snimio prethodnog dana?
 
Odgovor na temu

[es] :: PHP :: restrikcija pristupa samo na index.html direktno

Strane: 1 2

[ Pregleda: 3022 | Odgovora: 37 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.