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
|
||||||
<?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
|
Session::checkRight('config', UPDATE); // suficiente — kernel já validou CSRF
|
||||||
|
|
||||||
// lógica do endpoint...
|
// 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
|
## Comportamento esperado
|
||||||
|
|
||||||
Com o padrão acima:
|
Com o padrão acima:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue