46 lines
983 B
PHP
46 lines
983 B
PHP
|
<?php
|
||
|
|
||
|
/*
|
||
|
* This file is part of Twig.
|
||
|
*
|
||
|
* (c) Fabien Potencier
|
||
|
*
|
||
|
* For the full copyright and license information, please view the LICENSE
|
||
|
* file that was distributed with this source code.
|
||
|
*/
|
||
|
|
||
|
namespace Twig\Sandbox;
|
||
|
|
||
|
/**
|
||
|
* Interface that all security policy classes must implements.
|
||
|
*
|
||
|
* @author Fabien Potencier <fabien@symfony.com>
|
||
|
*/
|
||
|
interface SecurityPolicyInterface
|
||
|
{
|
||
|
/**
|
||
|
* @param string[] $tags
|
||
|
* @param string[] $filters
|
||
|
* @param string[] $functions
|
||
|
*
|
||
|
* @throws SecurityError
|
||
|
*/
|
||
|
public function checkSecurity($tags, $filters, $functions): void;
|
||
|
|
||
|
/**
|
||
|
* @param object $obj
|
||
|
* @param string $method
|
||
|
*
|
||
|
* @throws SecurityNotAllowedMethodError
|
||
|
*/
|
||
|
public function checkMethodAllowed($obj, $method): void;
|
||
|
|
||
|
/**
|
||
|
* @param object $obj
|
||
|
* @param string $property
|
||
|
*
|
||
|
* @throws SecurityNotAllowedPropertyError
|
||
|
*/
|
||
|
public function checkPropertyAllowed($obj, $property): void;
|
||
|
}
|