Вход Регистрация
* TheNameless

Класс CSRF

  1. <?php
  2. class csrf
  3. {
  4. protected $hash = '';
  5.  
  6. public function __construct ()
  7. {
  8. $hash = $this->getHash();
  9. setcookie('csrf_test', $hash, (time()+120), '/');
  10. }
  11.  
  12. public function getHash ()
  13. {
  14. if ($this->hash == '') $this->hash = md5(time());
  15. return $this->hash;
  16. }
  17.  
  18. public function check ()
  19. {
  20. if (isset($_COOKIE['csrf_test'], $_POST['csrf_test']))
  21. {
  22. if ($_COOKIE['csrf_test'] != $_POST['csrf_test'])
  23. {
  24. exit('CSRF PTOTECTED: иди на хуй');
  25. }
  26.  
  27. }
  28. else
  29. {
  30. exit('CSRF PTOTECTED: иди на хуй');
  31. }
  32.  
  33. }
  34.  
  35. public function hidden ()
  36. {
  37. return '<input type="hidden" name="csrf_test" value="'.$this->hash.'">';
  38. }
  39.  
  40. public function _check ()
  41. {
  42. if (isset($_COOKIE['csrf_test'], $_GET['csrf_test']))
  43. {
  44. if ($_COOKIE['csrf_test'] != $_GET['csrf_test'])
  45. {
  46. exit('CSRF PTOTECTED: иди на хуй');
  47. }
  48.  
  49. }
  50. else
  51. {
  52. exit('CSRF PTOTECTED: иди на хуй');
  53. }
  54. }
  55. }
  56. ?>
» Описание: Класс CSRF
» Время добавления: 25 Окт 2015 в 13:09
» Посмотров: 1705
» textarea
» Рейтинг: [+1 | -0]
Комментарии [3]
Онлайн: 1
Реклама