manuelj555 / dev-access-bundle
在使用 app_dev.php 时添加安全性
0.1.x-dev
2018-11-09 20:02 UTC
This package is auto-updated.
Last update: 2024-09-22 03:17:25 UTC
README
此包允许保护Symfony项目中app_dev.php的访问,目的是仅允许授权用户通过此方式访问。
注意 该项目已配置为在Symfony 2.8和Symfony 3上运行。
安装
执行
composer require manuelj555/dev-access-bundle ~0.1@dev
在AppKernel中注册Bundle
public function registerBundles() { $bundles = array( ... new Manuel\Bundle\DevAccessBundle\DevAccessBundle(), ); ... }
在 app/config/routing.yml 中添加
dev_access: resource: "@DevAccessBundle/Controller/" type: annotation prefix: /admin
最后,调整app_dev.php文件如下
... // Comentar las lineas que verifican el acceso local //if (isset($_SERVER['HTTP_CLIENT_IP']) // || isset($_SERVER['HTTP_X_FORWARDED_FOR']) // || !(in_array(@$_SERVER['REMOTE_ADDR'], ['127.0.0.1', '::1'], true) || PHP_SAPI === 'cli-server') //) { // header('HTTP/1.0 403 Forbidden'); // exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.'); //} // y agregar debajo de la carga del autoload lo siguiente: require __DIR__.'/../vendor/autoload.php'; Manuel\Bundle\DevAccessBundle\Security\Access::check(__DIR__.'/var/cache'); // Agregar esta linea Debug::enable();
这样,Bundle就已经配置好了
访问配置路径
要管理访问,需要访问
/admin/dev-access/config
额外配置
dev_access: roles: # Roles con acceso al modulo de administracion - ROLE_ADMIN users: # Usuarios especificos con acceso al modulo de administracion - admin sessions_path: '%kernel.project_dir%/var/cache' # Ruta donde se van a generar los archivos de sesion environment: dev # entorno en el que se está trabajando con acceso restringido
重要
在app_dev.php中添加行 Manuel\Bundle\DevAccessBundle\Security\Access::check(__DIR__.'/var/cache');
时,作为参数传递的路由必须与Bundle配置中的相同。