Skip to content
This repository has been archived by the owner on Sep 10, 2021. It is now read-only.

Commit

Permalink
Add an improved hash form element
Browse files Browse the repository at this point in the history
  • Loading branch information
Jamie Snape committed Nov 21, 2014
1 parent eb64a00 commit 2008a86
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 0 deletions.
1 change: 1 addition & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
"ext-json": "*",
"francodacosta/phmagick": "0.4.*@dev",
"intervention/image": "~2.0.13",
"ircmaxell/random-lib": "1.0.*@dev",
"leafo/scssphp": "~0.1.1",
"maennchen/zipstream-php": "~0.2.2",
"michelf/php-markdown": "~1.4.1",
Expand Down
34 changes: 34 additions & 0 deletions library/Midas/Form/Element/Hash.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?php
/*=========================================================================
MIDAS Server
Copyright (c) Kitware SAS. 26 rue Louis Guérin. 69100 Villeurbanne, FRANCE
All rights reserved.
More information http://www.kitware.com
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0.txt
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
=========================================================================*/

/** Extend Zend Form Element Hash to generate a more random hash. */
class Midas_Form_Element_Hash extends Zend_Form_Element_Hash
{
/** Generate a CSRF token. */
protected function _generateHash()
{
$factory = new \RandomLib\Factory;
$generator = $factory->getMediumStrengthGenerator();
$random1 = $generator->generateString(32);
$random2 = $generator->generateString(32);
$this->_hash = hash('sha256', $random1.$this->getSalt().$this->getName().$random2);
$this->setValue($this->_hash);
}
}

0 comments on commit 2008a86

Please sign in to comment.