Dinamik Metot Çağrısı (ARCH7132)
Anahtar php.security.dynamic-method-dispatch · Önem warning · Kategori security · CWE CWE-470
Çağrılacak metot/fonksiyon adının kullanıcı girdisinden geldiği dinamik dispatch (değişken fonksiyonlar, call_user_func), saldırganın nesnedeki herhangi bir metodu tetiklemesine olanak tanır.
Hatalı
Bölüm başlığı “Hatalı”<?php$action = $_GET['action'];$controller->$action(); // herhangi bir public metot çağrılabilir<?php$allowed = ['index', 'show', 'list'];$action = $_GET['action'] ?? '';if (in_array($action, $allowed, true)) { $controller->$action();}Düzeltme
Bölüm başlığı “Düzeltme”Dinamik çağrılan adı sabit bir izin listesine karşı doğrulayın; mümkünse açık bir switch/eşleme kullanın.