[PHP Mysql] Stored procedures, onafhankelijke host definer

Pagina: 1
Acties:

Onderwerpen


  • BlackHawkDesign
  • Registratie: Maart 2005
  • Laatst online: 20-09 15:40
Goede morgen tweakers,

Situatie
Ik heb een aantal stored procedures die ik gebruik in mijn php website. Aanroepen e.d. werkt perfect. Ik maak connectie naar de database via mijn programma navicat (een soort van mysql management tool). Ook heb ik toegang via phpMyAdmin. De stored procedures zijn aangemaakt met security definer.

Probleem
Als je een stored procedure aanmaakt, dan moet je dus ook een definer opgeven. Dit is de gebruiker waaronder je bent ingelogd. Het probleem zit echter dat hij bij het aanmaken van een stored procedure hij niet slechts de gebruikersnaam gebruikt maar ook de host waaronder je bent ingelogd. Dit ip wat hij gebruikt, kan nog wel eens veranderen. Als ik met een ander ip inlog ben ik niet in staat om de content op te roepen van de stored procedures die onder een ander ip zijn aangemaakt.

Eigen input
Ik ben nou al zo'n anderhalf uur aan het googlen en het heeft nog niks nuttigs opgeleverd, alleen dat ik de definer kan aanpassen in de mysql.proc tabel. Ik wil dit niet steeds hoeven aanpassen.

Vraag
Kan ik stored procedures aanmaken waarbij de security niet gebaseerd wordt op de host en alleen op de gebruiker?

  • cariolive23
  • Registratie: Januari 2007
  • Laatst online: 18-10-2024
Gebruik een wildcard of een netmask in de hostname:

SQL:
1
2
3
4
5
CREATE DEFINER = 'gebruiker'@'0.0.0.0/0.0.0.0' PROCEDURE foo()
SQL SECURITY DEFINER
BEGIN
  UPDATE foo SET x = x + 1;
END;

http://dev.mysql.com/doc/refman/5.5/en/account-names.html

Verwijderd

Ik gebruik zelf ook Navicat maar leg altijd de connectie met een server via tunneling dus in principe connect je dan altijd via de localhost, dit zal dan ook de hostname in de definer zijn en heb je geen problemen met de beveiliging indien je vanaf een andere host connect, mischien is dit een oplossing ?

in mijn geval worden er dus procedures aangemaakt als :

CREATE DEFINER = `siteuser`@`localhost` PROCEDURE `procTestUpdate`

Acties:
  • 0 Henk 'm!

  • BlackHawkDesign
  • Registratie: Maart 2005
  • Laatst online: 20-09 15:40
@cariolive23, bedankt dat was inderdaad waar ik naar op zoek was.

Het idee van thioz is helemaal super! Dan werkt nu als een trein :)