Toon posts:

[php/pgsql] Wachtwoord is niet nodig bij inloggen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo allemaal,

Ik ben voor het eerst bezig met PostgreSQL. Ik wil daar een PHP applicatie op gaan bouwen. Maar het gaat al erg snel mis. Als ik nu met pg_connect() inlog op m'n database, dan maak het niet uit welk wachtwoord ik invul. Ik kom altijd wel binnen. Dat is natuurlijk niet erg veilig :), dus dat wil ik veranderen. Ik heb al een apparte user ervoor aangemaakt (de user 'gaot') en die heeft ook al bepaalde rechten op de tabellen. Maar ik kan nog steeds inloggen zonder wachtwoord. Iemand op een ander forum heeft mij al gewezen op het GRANT commando, maar dat is het ook niet, want dan kan je alleen instellen wat de gebruiker kan (SELECT, INSERT enz.)
Hoe kan ik m'n database zo instellen dat je een wachtwoord in moet vullen om binnen te komen op een PostgreSQL database?

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:46
Heb je geen manager-software voor PGsql geïnstalleerd? Dan heb je gewoon een interface waarmee je die rechten allemaal in kunt stellen.

Verwijderd

Topicstarter
Ik heb pgAdmin III 1.0.2, maar daar kan ik ook helemaal nix in vinden over hoe je een wachtwoord in kan stellen.

Verwijderd

Heb nog nooit met deze dbms gewerkt maar staat het hier niet tussen:

http://www.postgresql.org/docs/

neem aan van wel :)

edit:

http://www.postgresql.org/docs/7.4/static/user-manag.html

wheee ;)

Ziet er allemaal wel verekt ingewikkeld uit.

[ Voor 37% gewijzigd door Verwijderd op 10-10-2004 12:34 ]


Verwijderd

Topicstarter
Ja, die links heb ik allebij al gevonden. Maar nu verander je het wachtwoord van de gebruiker, en niet van de database. Dus dat werkt helaas niet :(

  • Harm
  • Registratie: Mei 2002
  • Niet online
Verwijderd schreef op 10 oktober 2004 @ 12:58:
Ja, die links heb ik allebij al gevonden. Maar nu verander je het wachtwoord van de gebruiker, en niet van de database. Dus dat werkt helaas niet :(
Dat wil je toch ook? Je hebt een gebruiker en die gebruiker heeft rechten tot bepaalde databases. Als je dus met gebruiker A database B in wil, dan moet gebruiker A wel rechten hebben om database B in te kunnen. Als die rechten missen, werkt het niet. Wat dus ook hier in de documentatie staat :) .

Verwijderd

Topicstarter
Ja, dat weet ik. Ik heb gebruiker A een wachtwoord gegeven, en ik heb gebruiker A toegang tot database B gegeven. Maar het maakt niet uit welk wachtwoord ik invul. Gebruiker A komt altijd binnen op database B

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 10-08 15:15
Dus jij wilt zeggen dat je een gebruiker hebt die je een wachtwoord gegeven hebt. Nu connect je onder die gebruikersnaam met een ander wachtwoord en dat is gewoon mogelijk? Als hij zou authenticeren onder die gebruikersnaam en wachtwoord lijkt het me vanzelfsprekend dat hij bij een mismatch een foutmelding zou moeten geven bij het connecten (onafhankelijk van de database).

Tenzij hij helemaal niet de gebruikersnaam gebruikt. Misschien kijkt hij naar je user-id waarop je op het systeem bent ingelogd. Zo goed ken ik postgres nu ook weer niet, maar zoiets staat me nog ergens bij...
(min of meer vergelijkbaar met "windows verificatie" in ms-sql server bijv.)

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


Verwijderd

Topicstarter
Infinitive schreef op 10 oktober 2004 @ 13:28:
Dus jij wilt zeggen dat je een gebruiker hebt die je een wachtwoord gegeven hebt. Nu connect je onder die gebruikersnaam met een ander wachtwoord en dat is gewoon mogelijk? Als hij zou authenticeren onder die gebruikersnaam en wachtwoord lijkt het me vanzelfsprekend dat hij bij een mismatch een foutmelding zou moeten geven bij het connecten (onafhankelijk van de database).
idd, dat beweer ik. En mij leek het ook zeer logisch dat hij een foutmelding moet teruggeven, maar pg_connect() geeft gewoon netjes een connection handler terug.
Infinitive schreef op 10 oktober 2004 @ 13:28:
Tenzij hij helemaal niet de gebruikersnaam gebruikt. Misschien kijkt hij naar je user-id waarop je op het systeem bent ingelogd. Zo goed ken ik postgres nu ook weer niet, maar zoiets staat me nog ergens bij...
(min of meer vergelijkbaar met "windows verificatie" in ms-sql server bijv.)
Dat volg ik niet helemaal. Ik wil wel ff zeggen dat het script en de server op verschillende computers staan. Het script staat op m'n Windows XP laptop en de PostgreSQL server draait op m'n RedHat 8.0 desktop.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Verwijderd schreef op 10 oktober 2004 @ 13:35:
idd, dat beweer ik. En mij leek het ook zeer logisch dat hij een foutmelding moet teruggeven, maar pg_connect() geeft gewoon netjes een connection handler terug.
In de standaard installatie van PostgreSQL worden van de lokale verbindingen de wachtwoorden niet gecontroleerd. Zie wat je in pg_hba.conf moet veranderen om dat te wijzigen.
Dat volg ik niet helemaal. Ik wil wel ff zeggen dat het script en de server op verschillende computers staan. Het script staat op m'n Windows XP laptop en de PostgreSQL server draait op m'n RedHat 8.0 desktop.
Bij mijn weten worden verbindingen van externe computers standaard niet geaccepteerd, dus je hebt de pg_hba.conf al eens eerder gezien?

  • T-Blizzard
  • Registratie: Juni 2001
  • Laatst online: 24-08 11:46
in pg_hba.conf aan het einde van het bestand dit aanpassen

code:
1
2
3
4
5
6
7
# TYPE  DATABASE    USER        IP-ADDRESS        IP-MASK           METHOD

local   all         all                                                                              md5
# IPv4-style local connections:
host    all         all         127.0.0.1         255.255.255.255                 md5
# IPv6-style local connections:
host    all         all         ::1               ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff        md5


normaal staat dat dacht ik op trust

te laat :o

[ Voor 4% gewijzigd door T-Blizzard op 10-10-2004 14:33 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:14

gorgi_19

Kruimeltjes zijn weer op :9

Dit heeft meer met software configureren te maken dan met programmeren :P

>> Software Algemeen

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
het zat idd in die pg_hba.conf. Ik had die al eens eerder aangepast en dan zo aangepast dat m'n windows laptop altijd met iedere user zonder wachtwoord mag inloggen. Dus ook bij deze user. Nu heb ik boven die regel een nieuwe regel toegevoegd dat er voor de gebruiker gaot wel een wachtwoord nodig is. Nu werkt het helemaal perfect. Ik kan nog steeds met andere gebruikersnamen inloggen zonder wachtwoord, behalve bij deze gebruiker :)
Bedankt voor de hulp iedereen.

[ Voor 4% gewijzigd door Verwijderd op 10-10-2004 17:26 . Reden: tikfoutje verbeteren ]

Pagina: 1