PHP url rewriting

poruka: 31
|
čitano: 5.839
|
moderatori: XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
odjavljen
offline
PHP url rewriting

Riječ je o sljedećem, svi hintovi su dobrodošli.
Ovako, imam jednu stranicu u PHP, sadržaj guram u div pomoću include, id ovi su u arrayu i to radi odlično.No dobivam link tipa http://127.0.0.1/page/default.php?id=o_nama, a želim nešto tipa page/o-nama.
Znači vuče statičan sadržaj, tako da trebam pravilo pisati za svaki link.
RewriteEngine On
RewriteRule ^default.php?id=kontakt?$ kontakt.php [L]

Ovo sam stavio u .htaccess, file je editiran u notepad++ tako da bi trebalo sve raditi, nalazi se u rootu gdje je i stranica, no ne događa se ništa.U stavki apache handler pod loaded modules vidim da je mod_rewrite enabled.

Koliko sam skužio(nisam, mbaksa je zucnuo hint) trebalo bi prvo isprobati da li mod_rewrite uopće radi.Cijela priča se odvija na localhostu, XAMPP-u tako da ne bi trebalo biti problema većih.

 
0 0 hvala 0
17 godina
moderator
offline
Re: PHP url rewriting
alankish kaže...

Koliko sam skužio(nisam, mbaksa je zucnuo hint) trebalo bi prvo isprobati da li mod_rewrite uopće radi.Cijela priča se odvija na localhostu, XAMPP-u tako da ne bi trebalo biti problema većih.

Neka ti .htaccess sadržava nešto poput ovog:

 

RewriteEngine On
RewriteRule test.html test01.php [L]

 

Znači, imaš skriptu test01.php u kojoj ćeš napraviti recimo nešto tipa echo "Uspješna redirekcija!";. I onda probaš radi li localhost/test.html - ako ti se ispiše "Uspješna redirekcija!", onda znači da rewrite engine radi kako treba, i onda je problem u tome što si loše napisao regularni izraz. Za to, rekoh, posluži se programima poput

 

http://www.snapfiles.com/get/expresso.html

 

istestiraj da li ti ti regularni izrazi daju odgovarajući URL. Nisi mi odgovorio jesi li to uopće istestirao, ili za regularni izraz uopće nisi provjerio radi li.

17 godina
neaktivan
offline
PHP url rewriting

Ti trebas 'dispatcher'. Progooglaj malo taj pojam. Uglavnom, koristis regularne ekspresije(preg_match) da bi dobio id, ili sta vec. Daj mi malo vremena, imam napisan kod sebe kod vec.   

 
1 0 hvala 1
16 godina
odjavljen
offline
PHP url rewriting

Mbaksa, istina, nisam ni pravo isprobao da li mi url rewriting zaista radi.Potrošio sam cijelu vječnost na zaštitu foldera-neuspješno, odnosno nekakva onovna HTTP zaštita.Kasnije ću isprobati.

 
0 0 hvala 0
16 godina
odjavljen
offline
PHP url rewriting
Riješio problem, sad ću otići malo u offtopic, da se ne otvara stalno nova tema, pokušavam zaštiti folder, recimo admin, riješenje sa .htaccess i HTTP autentifikacijom mi se ne sviđa, nego sam napravio svoj sustav za prijavu, tablica korisnici, ručno sam upucao jedinog korisnika recimo admina, jer nema potrebe za reg. korisnika, pass sam sa md5('') kriptirao i to radi savršeno, koristim $_SESSION, uspio nakucati da se nakon uspješnog loga redirecta(header....) na stranicu gdje se mogu iz baze zapisi brisati, updateati i dodavati novi, no sad mogu direktno kroz url doći do željenog fajla, require() funkcija mi zasada ne riješava problem.Može kakav hint?
 
0 0 hvala 0
17 godina
neaktivan
offline
Re: PHP url rewriting
alankish kaže...
Riješio problem, sad ću otići malo u offtopic, da se ne otvara stalno nova tema, pokušavam zaštiti folder, recimo admin, riješenje sa .htaccess i HTTP autentifikacijom mi se ne sviđa, nego sam napravio svoj sustav za prijavu, tablica korisnici, ručno sam upucao jedinog korisnika recimo admina, jer nema potrebe za reg. korisnika, pass sam sa md5('') kriptirao i to radi savršeno, koristim $_SESSION, uspio nakucati da se nakon uspješnog loga redirecta(header....) na stranicu gdje se mogu iz baze zapisi brisati, updateati i dodavati novi, no sad mogu direktno kroz url doći do željenog fajla, require() funkcija mi zasada ne riješava problem.Može kakav hint?

  Ako sam te shvatio, do sučelja za administriranje možeš doći upisivanjem adres, bez logiranja.

 

To lako rješiš, tako da provjeriš na toj (i svakoj drugoj) stranici dali je korisnik ulogiran i ako nije redirect na login, ako je nastavi dalje.

 

Iako je ovo trivijalno pa pretpostavljam da sam krivo shvatio :P

16 godina
odjavljen
offline
PHP url rewriting
Logika ti je u redu, to riješavam provjerom vrijednosti u $_SESSION varijabli, no na ispitivanju uvjeta mi stane, damn.Možda sam ipak trebao koristiti cookiese.
 
0 0 hvala 0
17 godina
neaktivan
offline
Re: PHP url rewriting
alankish kaže...
Logika ti je u redu, to riješavam provjerom vrijednosti u $_SESSION varijabli, no na ispitivanju uvjeta mi stane, damn.Možda sam ipak trebao koristiti cookiese.

  trebalo bi raditi sa sessionima, znam jer sam ja tako radio davno prije.   vjerojatno imaš neku malu glupu grešku negdje

 

evo ovako je to izgledalo meni

 

if ($_SESSION['korisnik'] && $_SESSION['zaporka']){ //ako session postoji provjeri podatke u sessionu
        $tmpKorisnik=mysql_real_escape_string($_SESSION['korisnik']);
        $tmpZaporka=mysql_real_escape_string($_SESSION['zaporka']);
        $getUser=$loginDb->query("SELECT * FROM korisnici WHERE korisnik='".$tmpKorisnik."' AND zaporka='".$tmpZaporka."' AND grupaID <= ".$grupa." AND blokiran='ne'");

 

I jos koda koji nije bitan.

Poruka je uređivana zadnji put uto 1.3.2011 23:29 (Dr. Zoidberg).
17 godina
offline
PHP url rewriting

Napravi nekakav security.php di ces provjeravat jel postoji session sa podacima koje bi autorizirani korisnik trebao imati i to inkludaj u svaki file koji zelis zastititi.

Nesto mi se dogadja. Dopiydilo mi je piydit :(
 
1 0 hvala 1
17 godina
offline
Re: PHP url rewriting
alankish kaže...
Logika ti je u redu, to riješavam provjerom vrijednosti u $_SESSION varijabli, no na ispitivanju uvjeta mi stane, damn.Možda sam ipak trebao koristiti cookiese.

Cookies nikad ne koristi za security. Mozes ih koristit npr za kosarice i ostale stvari o kojima ne ovisi security.

Nesto mi se dogadja. Dopiydilo mi je piydit :(
16 godina
odjavljen
offline
PHP url rewriting
Na taj način i radim, logika mi savršeno radi, odvojit ću formu i provjeru korisnika u $_SESSION varijabli, pospremiti posebno i onda sa require(); uključiti u svaku datoteku koju želim zaštiti.Izgleda da me sintaksa negdje ..ebe ili nekakva sitna greškica, taj PHP je stvarno ružan, več ne razlikujem HTML od PHP-a, najbolje da nekakav framework uzmem, jer je ovo patnja teška.Čitao sam i malo o sigurnosti, zašto ne COOKIES?
 
0 0 hvala 0
17 godina
offline
Re: PHP url rewriting
alankish kaže...
Na taj način i radim, logika mi savršeno radi, odvojit ću formu i provjeru korisnika u $_SESSION varijabli, pospremiti posebno i onda sa require(); uključiti u svaku datoteku koju želim zaštiti.Izgleda da me sintaksa negdje ..ebe ili nekakva sitna greškica, taj PHP je stvarno ružan, več ne razlikujem HTML od PHP-a, najbolje da nekakav framework uzmem, jer je ovo patnja teška.Čitao sam i malo o sigurnosti, zašto ne COOKIES?

Cookies ostaje na racunalu. Session ne. Znam da hashiras i tko zna sta, ali svejedno.

 

Žuti marker: zato ja volim .Net :) C# sintaksa i VS su the most programmer friendly solucija :)

Nesto mi se dogadja. Dopiydilo mi je piydit :(
Poruka je uređivana zadnji put sri 2.3.2011 0:01 (tnakir).
16 godina
odjavljen
offline
PHP url rewriting
It makes some, sense, ali pročitao sam da postoji nači da se sesija "ukrade", naravno samo u lokalnoj mreži prolazi.Ubija me ova sintaksa...
 
0 0 hvala 0
17 godina
offline
Re: PHP url rewriting
alankish kaže...
It makes some, sense, ali pročitao sam da postoji nači da se sesija "ukrade", naravno samo u lokalnoj mreži prolazi.Ubija me ova sintaksa...

A mozes imat i keylogger na racunalu :)

Nesto mi se dogadja. Dopiydilo mi je piydit :(
16 godina
odjavljen
offline
PHP url rewriting

Riješio, ovo sad već idem u treći offtopic u ovoj temi.Znači radi se o sljedećem:

Imam sljedeću liniju koda, sadržaj je dinamičan, vuče se iz baze, link vodi na story.php koji po id-u vuče sadržaj.Slatko.ID se prosljeđuje u url, a title iz baze je naslov članka, sad trebam sljdedeće, nakon klika na link da mi se sadržaj ne otvara posebno nego da se includa u istu stranicu, logika mo govori da bi ovakava konstrukcija bila u redu, no ne radi.

<a href="inc/article.php?id=<?php echo $row->id; ?>"><?php echo $row->title; ?></a>

 

Ja to pokušavam riješiti na ovakav način:

 

if ($_GET['id'] == 'id') {
include 'article.php?id=<?php echo $row->id; ?>;

 

 
0 0 hvala 0
17 godina
moderator
offline
Re: PHP url rewriting
alankish kaže...
Ja to pokušavam riješiti na ovakav način:

 

if ($_GET['id'] == 'id') {
include 'article.php?id=<?php echo $row->id; ?>;

 

Stavio si PHP kôd unutar PHP kôda!

17 godina
neaktivan
offline
PHP url rewriting

djeco idite spavat, dosta posla za danas

karamba!
Moj PC  
1 0 hvala 0
17 godina
neaktivan
offline
Re: PHP url rewriting
alankish kaže...

Riješio, ovo sad već idem u treći offtopic u ovoj temi.Znači radi se o sljedećem:

Imam sljedeću liniju koda, sadržaj je dinamičan, vuče se iz baze, link vodi na story.php koji po id-u vuče sadržaj.Slatko.ID se prosljeđuje u url, a title iz baze je naslov članka, sad trebam sljdedeće, nakon klika na link da mi se sadržaj ne otvara posebno nego da se includa u istu stranicu, logika mo govori da bi ovakava konstrukcija bila u redu, no ne radi.

<a href="inc/article.php?id=<?php echo $row->id; ?>"><?php echo $row->title; ?></a>

 

Ja to pokušavam riješiti na ovakav način:

 

if  ($_GET['id']  ==  'id')  {
include  'article.php?id=<?php echo $row->id; ?>;
}

 

  Za prvo probaj $row['id'] ako radiš preko mysql_fetch_array()

 

drugo mi nije jasno sto pjesnik zeli postici :)

 

Ako sa drugim zelis ispis teksta iz baze, morati ćeš obaviti sql upit sa id-em koji ti je prosljeđen i onda ispisati to van. Ako sam dobro shvatio <.<

16 godina
odjavljen
offline
PHP url rewriting

@mbaksa, kasno je i sintaksa me ubija u pojam, a i kava mi se davno, davno ohladila.

@dr.Zoidberg, da koristim podatke iz baze, i imam neznam kako da nazovem article.php stranicu/skriptu kojoj se u url prosljeđuje id, i onda ta funkcija iz toga id dok se učita izvuče sadržaj prema tom id-u, taj id je primary key. i onda sa mysql_fetch_array izvučem sadržaj i kroz echo ga ispišem van i to radi savršeno.

Ono što ja hoću dok se klikne na link koji u href parametra prima id u url, da mi taj članka ne otvara u novoj stranici , nego da se ispituje uvjet i da taj sadržaj includa u isti page.

Sad sam na poslu, i mogu kasnije postati taj dio koda ili nekom na pp/skype da ne spamamo ovdje toliko.

 
0 0 hvala 0
17 godina
neaktivan
offline
Re: PHP url rewriting
alankish kaže...

@mbaksa, kasno je i sintaksa me ubija u pojam, a i kava mi se davno, davno ohladila.

@dr.Zoidberg, da koristim podatke iz baze, i imam neznam kako da nazovem article.php stranicu/skriptu kojoj se u url prosljeđuje id, i onda ta funkcija iz toga id dok se učita izvuče sadržaj prema tom id-u, taj id je primary key. i onda sa mysql_fetch_array izvučem sadržaj i kroz echo ga ispišem van i to radi savršeno.

Ono što ja hoću dok se klikne na link koji u href parametra prima id u url, da mi taj članka ne otvara u novoj stranici , nego da se ispituje uvjet i da taj sadržaj includa u isti page.

Sad sam na poslu, i mogu kasnije postati taj dio koda ili nekom na pp/skype da ne spamamo ovdje toliko.

  2 dana jako malo spavam pa ako ovo zvuci besmisleno upotrjebiti ću to za svoju obranu :P

 

Ako sam shvatio tebi treba stranica article.php koja na negdje ima provjeru isset($_POST['id']) i ako je postavljen id ispisuje article, ako nije onda neš drugo.

 

Znaci ako dođeš na link preko article.php dobijes jedno, a ako dođeš preko article.php?id=3 aktivira se uvjet gdje je $_POST['id'] postavljen i ispisuješ članak

Poruka je uređivana zadnji put pet 4.3.2011 0:54 (Dr. Zoidberg).
16 godina
offline
Re: PHP url rewriting
alankish kaže...
Riješio problem, sad ću otići malo u offtopic, da se ne otvara stalno nova tema, pokušavam zaštiti folder, recimo admin, riješenje sa .htaccess i HTTP autentifikacijom mi se ne sviđa, nego sam napravio svoj sustav za prijavu, tablica korisnici, ručno sam upucao jedinog korisnika recimo admina, jer nema potrebe za reg. korisnika, pass sam sa md5('') kriptirao i to radi savršeno, koristim $_SESSION, uspio nakucati da se nakon uspješnog loga redirecta(header....) na stranicu gdje se mogu iz baze zapisi brisati, updateati i dodavati novi, no sad mogu direktno kroz url doći do željenog fajla, require() funkcija mi zasada ne riješava problem.Može kakav hint?

Ja sam za login napravio sve u samo PHP-u, bez koristenja SQL-a. STvar je u tome da se prilikom ukucavanja tocne kombinacije username/password vrsi $_POST MD5 Hasha u admin.php, sto je potrebno da se executa admin.php, ako se pokusa pristupiti direct, izbaci "Access Denied! - You must login first."

 

Forum: http://www.elite7hackers.byethost16.com/
17 godina
offline
Re: PHP url rewriting
xZero kaže...
alankish kaže...
Riješio problem, sad ću otići malo u offtopic, da se ne otvara stalno nova tema, pokušavam zaštiti folder, recimo admin, riješenje sa .htaccess i HTTP autentifikacijom mi se ne sviđa, nego sam napravio svoj sustav za prijavu, tablica korisnici, ručno sam upucao jedinog korisnika recimo admina, jer nema potrebe za reg. korisnika, pass sam sa md5('') kriptirao i to radi savršeno, koristim $_SESSION, uspio nakucati da se nakon uspješnog loga redirecta(header....) na stranicu gdje se mogu iz baze zapisi brisati, updateati i dodavati novi, no sad mogu direktno kroz url doći do željenog fajla, require() funkcija mi zasada ne riješava problem.Može kakav hint?

Ja sam za login napravio sve u samo PHP-u, bez koristenja SQL-a. STvar je u tome da se prilikom ukucavanja tocne kombinacije username/password vrsi $_POST MD5 Hasha u admin.php, sto je potrebno da se executa admin.php, ako se pokusa pristupiti direct, izbaci "Access Denied! - You must login first."

 

Pa mora odnegdi vuc aktivne korisnike. Osim ako ne hardkodas jednog jedinog usera. Sto je glupo.

 

Nesto mi se dogadja. Dopiydilo mi je piydit :(
16 godina
offline
Re: PHP url rewriting
alankish kaže...

Riješio, ovo sad već idem u treći offtopic u ovoj temi.Znači radi se o sljedećem:

Imam sljedeću liniju koda, sadržaj je dinamičan, vuče se iz baze, link vodi na story.php koji po id-u vuče sadržaj.Slatko.ID se prosljeđuje u url, a title iz baze je naslov članka, sad trebam sljdedeće, nakon klika na link da mi se sadržaj ne otvara posebno nego da se includa u istu stranicu, logika mo govori da bi ovakava konstrukcija bila u redu, no ne radi.

<a href="inc/article.php?id=<?php echo $row->id; ?>"><?php echo $row->title; ?></a>

 

Ja to pokušavam riješiti na ovakav način:

 

if ($_GET['id'] == 'id') {
include 'article.php?id=<?php echo $row->id; ?>;

 

Nemoze tako.

Probaj ovako:

 

if ($_GET['id'] == 'id') { 

// Ovakav kod se koristi ako zelis koristiti $_GET ili $_POST u include funkciji.

$_GET['id']="1";

include 'article.php'; 

 

 

Nemozes koristiti $_GET u include.

Primjer: include 'article.php?id=1';

- nevalja

 

MOras postaviti $_GET prije include kako sam gore i napisao...

 

 

Probaj to, i usput kombiniraj u to ono svoje za $row

Forum: http://www.elite7hackers.byethost16.com/
Poruka je uređivana zadnji put pet 4.3.2011 8:07 (xZero).
16 godina
offline
Re: PHP url rewriting
tnakir kaže...
xZero kaže...
alankish kaže...
Riješio problem, sad ću otići malo u offtopic, da se ne otvara stalno nova tema, pokušavam zaštiti folder, recimo admin, riješenje sa .htaccess i HTTP autentifikacijom mi se ne sviđa, nego sam napravio svoj sustav za prijavu, tablica korisnici, ručno sam upucao jedinog korisnika recimo admina, jer nema potrebe za reg. korisnika, pass sam sa md5('') kriptirao i to radi savršeno, koristim $_SESSION, uspio nakucati da se nakon uspješnog loga redirecta(header....) na stranicu gdje se mogu iz baze zapisi brisati, updateati i dodavati novi, no sad mogu direktno kroz url doći do željenog fajla, require() funkcija mi zasada ne riješava problem.Može kakav hint?

Ja sam za login napravio sve u samo PHP-u, bez koristenja SQL-a. STvar je u tome da se prilikom ukucavanja tocne kombinacije username/password vrsi $_POST MD5 Hasha u admin.php, sto je potrebno da se executa admin.php, ako se pokusa pristupiti direct, izbaci "Access Denied! - You must login first."

 

Pa mora odnegdi vuc aktivne korisnike. Osim ako ne hardkodas jednog jedinog usera. Sto je glupo.

 

Ma u redu je to da koristi SQL, samo pokusavam reci kako moze zastititi admina od neovlastenog pristupa.

Forum: http://www.elite7hackers.byethost16.com/
16 godina
odjavljen
offline
PHP url rewriting

@xZero, hvala za sad isprobat ću, trebao sam uploadati taj folder negdje na web, tako da mogu odmah isprobati.U biti probat ću napraviti example bez SQL samo da vidim da li to funkcionira na taj način.

@tnakir, koristim SQL trenutno samo za jednog korisnika, no postojeći sustav ću nadograditi i koristiti kasnije za više korisnika, s time da sam napravio formu koja omogućava dodavanje korisnika i samo admin joj može pristupiti.Svi podaci se skupljaju sa $_POST i upucavaju u query i to radi savršeno{#}.

 
0 0 hvala 0
17 godina
offline
Re: PHP url rewriting
alankish kaže...

@xZero, hvala za sad isprobat ću, trebao sam uploadati taj folder negdje na web, tako da mogu odmah isprobati.U biti probat ću napraviti example bez SQL samo da vidim da li to funkcionira na taj način.

@tnakir, koristim SQL trenutno samo za jednog korisnika, no postojeći sustav ću nadograditi i koristiti kasnije za više korisnika, s time da sam napravio formu koja omogućava dodavanje korisnika i samo admin joj može pristupiti.Svi podaci se skupljaju sa $_POST i upucavaju u query i to radi savršeno{#}.

Naravno, to je za ocekivati i kad vec pises, najbolje odmah napraviti pripremu za buducnost.

Nesto mi se dogadja. Dopiydilo mi je piydit :(
16 godina
offline
Re: PHP url rewriting
alankish kaže...

@xZero, hvala za sad isprobat ću, trebao sam uploadati taj folder negdje na web, tako da mogu odmah isprobati.U biti probat ću napraviti example bez SQL samo da vidim da li to funkcionira na taj način.

@tnakir, koristim SQL trenutno samo za jednog korisnika, no postojeći sustav ću nadograditi i koristiti kasnije za više korisnika, s time da sam napravio formu koja omogućava dodavanje korisnika i samo admin joj može pristupiti.Svi podaci se skupljaju sa $_POST i upucavaju u query i to radi savršeno{#}.

i? si sta uspio?

Forum: http://www.elite7hackers.byethost16.com/
16 godina
odjavljen
offline
PHP url rewriting

@xZero, almost, preskočio sam neke bitne dijelove u učenju PHP-a, pa mi se događaju takvi problemi.

 
1 0 hvala 0
16 godina
offline
Re: PHP url rewriting
alankish kaže...

@xZero, almost, preskočio sam neke bitne dijelove u učenju PHP-a, pa mi se događaju takvi problemi.

Pocetnicke greske {#} - VRati se na te dijelove i uci {#}

Forum: http://www.elite7hackers.byethost16.com/
17 godina
offline
Re: PHP url rewriting
alankish kaže...

@xZero, almost, preskočio sam neke bitne dijelove u učenju PHP-a, pa mi se događaju takvi problemi.

Uciti uciti i samo uciti jedino tako mozes razluciti... Kazu da je kruh pomoraca sa 7 kora. Programerski ima bar jos toliko. Nikad nisi u toku. Uvijek moras uciti. Ako nesto preskocis moras se hebat. Moras poznavat osim osnovne tehnologije (npr PHP) bar jos 2 (html/css + SQL) i za kraj od drugih ljudi dobivas komentare "Pa ti se samo igras na kompjuteru, nes ti, sidis i malo tipkas... Kako se od toga mos umorit". 

Nesto mi se dogadja. Dopiydilo mi je piydit :(
Nova poruka
E-mail:
Lozinka:
 
vrh stranice