- Модуль: security
- Путь к файлу: ~/bitrix/modules/security/lib/filter/request.php
- Класс: BitrixSecurityFilterRequest
- Вызов: Request::filterVar
protected function filterVar($context, $value, $name)
{
if (preg_match('#^[A-Za-z0-9_.,-]*$#D', $value))
return $value;
$filteredValue = CSecurityHtmlEntity::decodeString($value);
self::adjustPcreBacktrackLimit($filteredValue);
$isValueChanged = false;
foreach($this->auditors as $auditName => $auditor)
{
if ($auditor->process($filteredValue))
{
$this->isAuditorsTriggered = true;
if ($this->isLogNeeded())
{
$this->logVariable($value, $name, $auditName);
}
if ($this->isFilterAction())
{
$isValueChanged = true;
$filteredValue = $auditor->getFilteredValue();
}
elseif ($this->isClearAction())
{
$isValueChanged = true;
$filteredValue = '';
break;
}
}
}
if ($isValueChanged)
{
$this->pushChangedVar($context, $value, $name);
return $filteredValue;
}
else
{
return $value;
}
}