1: <?php
2: /**
3: * CakePHP(tm) : Rapid Development Framework (https://cakephp.org)
4: * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
5: *
6: * Licensed under The MIT License
7: * Redistributions of files must retain the above copyright notice.
8: *
9: * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
10: * @since 3.0.0
11: * @license https://opensource.org/licenses/mit-license.php MIT License
12: */
13: namespace Cake\Controller\Exception;
14:
15: use Cake\Http\Exception\BadRequestException;
16:
17: /**
18: * Security exception - used when SecurityComponent detects any issue with the current request
19: */
20: class SecurityException extends BadRequestException
21: {
22: /**
23: * Security Exception type
24: * @var string
25: */
26: protected $_type = 'secure';
27:
28: /**
29: * Reason for request blackhole
30: *
31: * @var string
32: */
33: protected $_reason;
34:
35: /**
36: * Getter for type
37: *
38: * @return string
39: */
40: public function getType()
41: {
42: return $this->_type;
43: }
44:
45: /**
46: * Set Message
47: *
48: * @param string $message Exception message
49: * @return void
50: */
51: public function setMessage($message)
52: {
53: $this->message = $message;
54: }
55:
56: /**
57: * Set Reason
58: *
59: * @param string|null $reason Reason details
60: * @return void
61: */
62: public function setReason($reason = null)
63: {
64: $this->_reason = $reason;
65: }
66:
67: /**
68: * Get Reason
69: *
70: * @return string
71: */
72: public function getReason()
73: {
74: return $this->_reason;
75: }
76: }
77: