added check for null whitelist
This commit is contained in:
parent
b8594c174a
commit
8fbdb69d8a
|
@ -196,18 +196,23 @@ class Controller
|
||||||
*/
|
*/
|
||||||
private function _create()
|
private function _create()
|
||||||
{
|
{
|
||||||
// Check whitelist if allowed to create
|
// Check if whitelist feature is enabled
|
||||||
|
if (($option = $this->_conf->getKey('whitelist', 'traffic')) !== null) {
|
||||||
|
// Parse whitelist into array
|
||||||
$whitelist = explode(',', $this->_conf->getKey('whitelist_paste_creation', 'traffic'));
|
$whitelist = explode(',', $this->_conf->getKey('whitelist_paste_creation', 'traffic'));
|
||||||
|
// Check for source IP in HTTP header
|
||||||
if (($option = $this->_conf->getKey('header', 'traffic')) !== null) {
|
if (($option = $this->_conf->getKey('header', 'traffic')) !== null) {
|
||||||
$httpHeader = 'HTTP_' . $option;
|
$httpHeader = 'HTTP_' . $option;
|
||||||
|
// Grab source IP from HTTP header (if it exists)
|
||||||
if (array_key_exists($httpHeader, $_SERVER) && !empty($_SERVER[$httpHeader])) {
|
if (array_key_exists($httpHeader, $_SERVER) && !empty($_SERVER[$httpHeader])) {
|
||||||
// compare source IP from web server with whitelist
|
// Check if source IP reported from HTTP header is in whitelist array
|
||||||
if(!in_array($_SERVER[$httpHeader], $whitelist)) {
|
if (!in_array($_SERVER[$httpHeader], $whitelist)) {
|
||||||
$this->_return_message(1, I18n::_('Your IP is not authorized to create pastes.'));
|
$this->_return_message(1, I18n::_('Your IP is not authorized to create pastes.'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Ensure last paste from visitors IP address was more than configured amount of seconds ago.
|
// Ensure last paste from visitors IP address was more than configured amount of seconds ago.
|
||||||
TrafficLimiter::setConfiguration($this->_conf);
|
TrafficLimiter::setConfiguration($this->_conf);
|
||||||
|
|
Loading…
Reference in New Issue