diff options
author | Brion Vibber <brion@users.mediawiki.org> | 2005-02-21 01:56:50 +0000 |
---|---|---|
committer | Brion Vibber <brion@users.mediawiki.org> | 2005-02-21 01:56:50 +0000 |
commit | 5a9e8c8c625ce677fc5b0c646ad02784e5b78723 (patch) | |
tree | e51b0994051a6cdcf107216c451814aa0699e029 /includes/User.php | |
parent | 761d37d7cced8c30a9d934a9fff155423a35f4a2 (diff) | |
download | mediawikicore-5a9e8c8c625ce677fc5b0c646ad02784e5b78723.tar.gz mediawikicore-5a9e8c8c625ce677fc5b0c646ad02784e5b78723.zip |
Audit tweaks: extra post checks, markup fixes.
Notes
Notes:
http://mediawiki.org/wiki/Special:Code/MediaWiki/7498
Diffstat (limited to 'includes/User.php')
-rw-r--r-- | includes/User.php | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/includes/User.php b/includes/User.php index 27bb4491d48b..81f8130cb605 100644 --- a/includes/User.php +++ b/includes/User.php @@ -1210,15 +1210,22 @@ class User { * login credentials aren't being hijacked with a foreign form * submission. * + * @param mixed $salt - Optional function-specific data for hash. + * Use a string or an array of strings. * @return string * @access public */ - function editToken() { + function editToken( $salt = '' ) { if( !isset( $_SESSION['wsEditToken'] ) ) { $token = dechex( mt_rand() ) . dechex( mt_rand() ); $_SESSION['wsEditToken'] = $token; + } else { + $token = $_SESSION['wsEditToken']; + } + if( is_array( $salt ) ) { + $salt = implode( '|', $salt ); } - return $_SESSION['wsEditToken']; + return md5( $token . $salt ); } /** @@ -1227,14 +1234,13 @@ class User { * user's own login session, not a form submission from a third-party * site. * - * @param string $val + * @param string $val - the input value to compare + * @param string $salt - Optional function-specific data for hash * @return bool * @access public */ - function matchEditToken( $val ) { - if( !isset( $_SESSION['wsEditToken'] ) ) - return false; - return $_SESSION['wsEditToken'] == $val; + function matchEditToken( $val, $salt = '' ) { + return ( $val == $this->editToken( $salt ) ); } } |