[PHP] .htpass not permitted

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • DaMinD
  • Registratie: Januari 2002
  • Laatst online: 23-06-2024
Ik ben bezig met een login pagina te bouwen in php.
Nu heb ik een login schermpje die in .htpass kijken en daar de username en pass uit haalt en probeerd na te kijken.
Nu heb ik alles al goed in gesteld, zoals bijvoorbeeld een .htpass aan te maken met "htpasswd -b .htpass user pass"
Alleen krijg ik nu een melding met dat ik mijn .htpass niet mag uitlezen met het fopen commando.
Ik heb ook al geprobeerd om alle promission op 7777 te zetten en dat helpt ook niet.

Hier de foutmelding :

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Warning: open_basedir restriction in effect. File is in wrong directory 
in /de url/login/login.php on line 12

Warning: fopen("/de url/login/.htpass", "r") - 
Operation not permitted 
in /de url/login/login.php on line 12

Warning: open_basedir restriction in effect. File is in wrong directory 
in /de url/login/login.php on line 13

Warning: fread(): supplied argument is not a valid File-Handle resource 
in /de url/login/login.php on line 13

Warning: fclose(): supplied argument is not a valid File-Handle resource 
in /de url/login/login.php on line 14

[ Voor 63% gewijzigd door DaMinD op 17-03-2003 11:14 ]


Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 11-08 12:40

thomaske

» » » » » »

Het is niet netjes om op deze manier te werken. Persoonlijk zou ik het zo doen:

• Of je laat apache alles afhandelen en je leest in php HTTP_AUTH_USER en HTTP_AUTH_PASS (oid) uit
• Of je bouwt in PHP een authorisatie systeem

Je moet niet je wachtwoorden op gaan slaan dmv apache's htpasswd en dan die file uitlezen in php.

(probleem in je huidige code is dat .htpass een hidden file is, en die mag je met de huidige open_basedir restrictie niet openen)

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!

  • DaMinD
  • Registratie: Januari 2002
  • Laatst online: 23-06-2024
hmmm dat is toch raar.
Ik heb dit stukje code uit een photoalbum systeem en daar werkt het wel.

Ik heb ook zitten kijken naar het afandelen via apache maar daar ben ik nog niet helemaal uit. (Ben net pas bezig met php)
Ik moet denk ik maar ff verder kijken

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

thomaske:
(probleem in je huidige code is dat .htpass een hidden file is, en die mag je met de huidige open_basedir restrictie niet openen)

Ik lees toch iets anders ;)
Warning: open_basedir restriction in effect. File is in wrong directory
Als je toegang hebt tot je configuratie kun je de directory waar het bestand in staat aan je open_basedir directive toevoegen, zoals je hier kunt lezen.

Deze directive kun je enkel in een httpd.conf (of soorgelijk bestand) of in je php.ini aanpassen. (zie dit stukje).

Als je dat niet aan kunt passen moet je of je serverbeheerder lief aankijken, of een andere manier gebruiken.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • DaMinD
  • Registratie: Januari 2002
  • Laatst online: 23-06-2024
Jammergenoeg kan ik niets veranderen in de configs van php en apache :(
(Toch maar weer eens mijn eigen webserver aan zetten)

Ik moet dan maar voor een andere manier gaan zoeken.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 11-08 18:05

Janoz

Moderator Devschuur®

!litemod

Ik denk dat je gewoon vergeten bent de lokatie aan te passen. Kijk nog eens goed naar die foutmeldingen? Wil je werkelijk het bestand "/de url/login/.htpass" openen?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • DaMinD
  • Registratie: Januari 2002
  • Laatst online: 23-06-2024
Ik heb ff de url weg gelaten, dat is het probleem niet.

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 12-08 11:33

.oisyn

Moderator Devschuur®

Demotivational Speaker

Wat janoz bedoelt is dat fopen () het pad in je filesystem moet hebben, niet die van je website.

Voorbeeld: het pad van bestand http://jouwdomein.nl/blaat.html is niet gewoon /blaat.html, maar iets als: /var/www/j/jouwdomein/blaat.html

Als je blaat.html dan wilt openen met fopen () zul je dan ook /var/www/j/jouwdomein/blaat.html moeten opgeven, of een relatief pad moeten gebruiken. Als je dat htpasswd command gewoon in je huidige dir gebruikt, zal ie de .htpass ook wel in de huidige dir aanmaken, en dan kun je m dus ook gewoon openen door ".htpass" door te geven aan fopen (), en niet gewoon "/jouw url/login/.htpass"

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • DaMinD
  • Registratie: Januari 2002
  • Laatst online: 23-06-2024
ja dat snap ik. En dat is ook zo. Maar ik vondt dat jullie niet perse hoefden te weten dat deze script in /var/www/advi/login/ stond. En ja ik ben bekent met het werken in een shell en ik weet dus ook hoe het zit met dir's en files en hoe ik die aan kan roepen of hoe ze in een path staan.
Het probleem ligt ergens in de code en niet in het pad.
Ik denk dat DRM gelijk heeft, maar helaas kan ik dat niet aanpassen omdat deze site wordt gehost door iemand anders.

Ik moet dus op een of andere manier iets voor elkaar te zien krijgen dat ik uit mijn .htpass file het username en ww kan halen en kan vergelijken.

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 12-08 11:33

.oisyn

Moderator Devschuur®

Demotivational Speaker

oh ok. Ja het was wat onduidelijk omdat je het over een "url" had ipv een "pad" (ookal is een pad in feite ook een URL binnen een systeem) :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • DaMinD
  • Registratie: Januari 2002
  • Laatst online: 23-06-2024
Heb nu dat gebeuren met de .access file door. Maar het probleem is dat ik nu zo'n popup krijg.
Dat was niet helemaal de bedoeling. Is er een manier om een custom login te krijgen? Ik had al een code daarvoor gevonden maar dit is dus de code die ik heb gebruikt hier boven :(

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 11-08 18:05

Janoz

Moderator Devschuur®

!litemod

DaMinD schreef op 17 maart 2003 @ 13:11:
ja dat snap ik. En dat is ook zo. Maar ik vondt dat jullie niet perse hoefden te weten dat deze script in /var/www/advi/login/ stond. En ja ik ben bekent met het werken in een shell en ik weet dus ook hoe het zit met dir's en files en hoe ik die aan kan roepen of hoe ze in een path staan.
Het probleem ligt ergens in de code en niet in het pad.
Ik denk dat DRM gelijk heeft, maar helaas kan ik dat niet aanpassen omdat deze site wordt gehost door iemand anders.

Ik moet dus op een of andere manier iets voor elkaar te zien krijgen dat ik uit mijn .htpass file het username en ww kan halen en kan vergelijken.


Owh, maar dat is zeker wel belangrijk. Het bestand kan niet geopend worden om de volgende reden:
open_basedir restriction in effect.
Probeer eens relatief te linken ipv absoluut.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • DaMinD
  • Registratie: Januari 2002
  • Laatst online: 23-06-2024
Dankje Janoz!
Het scriptje werkt nu perfect. Lag dus aan de pad.
Na het weg halen van het pad en het aanwijzen van alleen de file werkt hij goed.
Pagina: 1