KB-PLUGIN-010: ajax/ no GLPI 11 dispensa inc/includes.php
Confirmado no plugin sync: endpoint ajax sem include responde 302/403 (core bootado pelo LegacyFileLoadController). Corrige exemplo legado. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
28dcfbca94
commit
069cd141a8
1 changed files with 9 additions and 1 deletions
|
|
@ -80,13 +80,21 @@ fetch('/plugins/meu-plugin/ajax/endpoint.php', {
|
|||
|
||||
```php
|
||||
<?php
|
||||
include('../../../inc/includes.php');
|
||||
// GLPI 11: NÃO incluir inc/includes.php — o LegacyFileLoadController já bootou
|
||||
// o core/autoload antes de invocar arquivos de ajax/ (igual a front/, ver
|
||||
// KB-PLUGIN-028). O include legado pode quebrar dependendo do path do plugin.
|
||||
|
||||
Session::checkRight('config', UPDATE); // suficiente — kernel já validou CSRF
|
||||
|
||||
// lógica do endpoint...
|
||||
```
|
||||
|
||||
> **Atualização (GLPI 11.0.x):** o `include('../../../inc/includes.php')` mostrado
|
||||
> em versões antigas deste padrão **não é mais necessário nem recomendado** em
|
||||
> `ajax/`. Confirmado no plugin `sync` (2026-06-16): `ajax/testconnection.php` sem
|
||||
> include responde 302 (GET sem sessão → `checkLoginUser` redirige) e 403 (POST
|
||||
> sem token CSRF), provando que o core é bootado pelo kernel sem o include.
|
||||
|
||||
## Comportamento esperado
|
||||
|
||||
Com o padrão acima:
|
||||
|
|
|
|||
Loading…
Reference in a new issue