• Модуль: 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;
	}
}