Недавно я был назначен на проект, и я вижу это в контроллере:
if ($this->getRequest()->isPost()){
$escapar = new Escaper('utf-8');
$consulta = $this->getRequest()->getPost();
$nombreComercial = $escapar->escapeHtml($consulta['nombreComercial']);
$razonSocial=$escapar->escapeHtml($consulta['razonSocial']);
$rfc = $escapar->escapeHtml($consulta['rfc']);
$estado = $escapar->escapeHtml($consulta['estado']);
$municipio = $escapar->escapeHtml($consulta['municipio']);
$sectorprimario = $escapar->escapeHtml($consulta['sectorprimario']);
$sectorsecundario = $escapar->escapeHtml($consulta['sectorsecundario']);
$localidad = $escapar->escapeHtml($consulta['localidad']);
$telefono = $escapar->escapeHtml($consulta['telefono']);
$empresa = new Empresa($this->dbAdapter);
$empresas = $empresa->searchEmpresas($nombreComercial, $razonSocial, $rfc, $estado, $municipio, $localidad, $sectorprimario, $sectorsecundario, $telefono, $identi->id_institucion);
return $this->forward()->dispatch('Gestion\Controller\Cpanel', array('action' => 'searchpymes','nombreComercial' => $nombreComercial, 'consulta'=>$empresas));
}
Это правильно использовать escapeHTML
чтобы получить входящие данные из запроса POST?
В документации мы можем прочитать это:
Zend\Escaper
предназначен для использования только для экранирования данных, которые должны быть выведены, и как таковой не должен использоваться неправильно для фильтрации входных данных. Для таких задач Компонент Zend \ Filter, HTMLPurifier или PHP Фильтр компонент должен быть использован.От: Zend Escaper
escapeHtml()
является одним из методов, предоставляемых Zend\Escaper
поэтому его следует использовать для побега выходные данные.
Для входных данных (что является вашим случаем), вы можете взглянуть на Zend \ Filter
Других решений пока нет …