Dinamik Kod Çalıştırma (ARCH7131)
Anahtar php.security.dynamic-code-execution · Önem critical · Kategori security · CWE CWE-95
eval() ile bir string’i çalışma zamanında kod olarak çalıştırmak, en geniş uzaktan kod çalıştırma (RCE) ilkesidir. Girdi güvenilmeyen kaynaktan geliyorsa saldırgan keyfi PHP çalıştırabilir.
Hatalı
Bölüm başlığı “Hatalı”<?php$op = $_GET['op']; // örn. "1+1" ya da kötü amaçlı kodeval("\$result = $op;");echo $result;<?php$allowed = ['add' => fn($a, $b) => $a + $b, 'mul' => fn($a, $b) => $a * $b];$op = $_GET['op'] ?? '';$result = isset($allowed[$op]) ? $allowed[$op]((int)$_GET['a'], (int)$_GET['b']) : null;Düzeltme
Bölüm başlığı “Düzeltme”eval kullanmaktan kaçının; izin listeli işlemler, ayrıştırıcılar veya açık eşleme tabloları ile değiştirin.