RE: [PHP-DB] Determine AuthMySQL* directives in script?
| From: | Dwight Altman | Date: | Fri, 20 Apr 2007 16:32:16 +0000 |
| Subject: | RE: [PHP-DB] Determine AuthMySQL* directives in script? | ||
| References: | 1 2 3 4 5 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-43466@lists.php.net to get a copy of this message | ||
It appears that Apache still needs the directive without the SetEnv prefix
to actually use the mod_auth_mysql authentication, but an additional line
with the SetEnv directive will pass that variable to the script.
AuthMySQLDB aDataBaseName
SetEnv AuthMySQLDB aDataBaseName
SetEnv ApparentlyAnyVariableName aValue
So it isn't really reading the Apache AuthMySQLDB directive in use, and we'd
have to hope that whoever wrote the .htaccess file included the correct
database name.
The following could happen:
#AuthMySQLDB oldDataBaseNameNotBeingUsedSinceItIsCommentedOut
AuthMySQLDB newDataBaseNameBeingUsed
SetEnv AuthMySQLDB wrongDataBaseNamePassedToScript
So if anyone knows a function or variable to definitely get the Apache
AuthMySQLDB directive in use for the current script, it may be safer than my
attempt to parse the .htaccess file.
Regards,
Dwight
> -----Original Message-----
> From: Dwight Altman [mailto:dwight@multicam.com]
> Sent: Friday, April 20, 2007 9:32 AM
> To: php-db@lists.php.net
> Subject: RE: [PHP-DB] Determine AuthMySQL* directives in script?
>
> Cool alternative.
>
> We don't write .htaccess files like that though.
>
> Anyway, I actually wrote a function to parse the .htaccess file, but I
> will
> try this SetEnv/getenv technique also.
>
> Thanks.
>
> Regards,
> Dwight
> > -----Original Message-----
> > From: Chris [mailto:dmagick@gmail.com]
> > Sent: Thursday, April 19, 2007 7:20 PM
> > To: Dwight Altman
> > Cc: php-db@lists.php.net
> > Subject: Re: [PHP-DB] Determine AuthMySQL* directives in script?
> >
> > Dwight Altman wrote:
> > > I only agree to it "depending" if I have to write my own function
> using
> > a
> > > regular expression to parse the .htaccess file, but I was wondering if
> > it is
> > > already available from a PHP function or variable.
> > >
> > > In the .htaccess file, the AuthMySQLDB directive:
> > > 1) may not be present
> > > 2) may be commented out
> > > 3) may appear like the following starting in the first columns:
> > > AuthMySQL...
> > > AuthMySQLDB aDataBaseName
> > > AuthMySQL...
> > > 4) may be commented out with a valid entry present
> > > #AuthMySQLDB oldInactiveDataBaseName
> > > AuthMySQLDB newActiveDataBaseName
> > > 5) who knows? -- it may have other "white space" and not start in the
> > first
> > > column
> > > AuthMySQLDB newActiveDataBaseName
> > >
> > > Is that what you meant? How else can it be specified in the .htaccess
> > file?
> >
> > No, I meant it depends on how it is defined in the htaccess file.
> >
> > http://httpd.apache.org/docs/1.3/mod/mod_env.html
> >
> > SetEnv AuthMySQLDB dbName
> >
> > would allow you to:
> >
> > $dbname = getenv('AuthMySQLDB');
> >
> >
> > Apart from that I'm out of ideas :)
> >
> > --
> > Postgresql & php tutorials
> > http://www.designmagick.com/
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php