note 93427 added to features.http-auth
| From: | Anonymous at osu1 dot php dot net | Date: | Wed, 09 Sep 2009 17:02:06 +0000 |
| Subject: | note 93427 added to features.http-auth | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-160363@lists.php.net to get a copy of this message | ||
The regex in http_digest_parse from Example #2 does not work for me (PHP 5.2.6), because back
references are not allowed in a character class. This worked for me:
<?php
// function to parse the http auth header
function http_digest_parse($txt)
{
// protect against missing data
$needed_parts = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1,
'qop'=>1, 'username'=>1, 'uri'=>1,
'response'=>1);
$data = array();
preg_match_all('@(\w+)=(?:(?:\'([^\']+)\'|"([^"]+)")|([^\s,]+))@',
$txt, $matches, PREG_SET_ORDER);
foreach ($matches as $m) {
$data[$m[1]] = $m[2] ? $m[2] : ($m[3] ? $m[3] : $m[4]);
unset($needed_parts[$m[1]]);
}
return $needed_parts ? false : $data;
}
?>
----
Server IP: 69.147.83.197
Probable Submitter: 64.187.64.13
----
Manual Page -- http://www.php.net/manual/en/features.http-auth.php
Edit -- https://master.php.net/note/edit/93427
Del: integrated -- https://master.php.net/note/delete/93427/integrated
Del: useless -- https://master.php.net/note/delete/93427/useless
Del: bad code -- https://master.php.net/note/delete/93427/bad+code
Del: spam -- https://master.php.net/note/delete/93427/spam
Del: non-english -- https://master.php.net/note/delete/93427/non-english
Del: in docs -- https://master.php.net/note/delete/93427/in+docs
Del: other reasons-- https://master.php.net/note/delete/93427
Reject -- https://master.php.net/note/reject/93427
Search -- https://master.php.net/manage/user-notes.php