PHP’de belirli fonksiyonları engelleme

Birol Bavas
1 min readJan 2, 2022

Kullandığınız PHP web sunucusunda güvenliğe dair bir adım atmak istiyorsanız PHP’deki tehlikeli fonksiyonları engelleyerek başlayabilirsiniz. Bu sayede php dosyaları üzerinden çalıştırılan komutları sınırlayabilir, güvenliğinizi daha da arttırabilirsiniz.

Sunucunuzdaki php.ini dosyasının içerisinde disable_functions kelimesini aratın ve aşağıdaki listeyi karşısına yazın. Eğer disable_functions’un başında # işareti varsa satırın etkinleştirilmesi için kaldırın.

ln -s, ln, ln -b, exec, eval, dl, passthru, shell_exec, system, eval, popen, fsockopen, proc_open, proc_get_status, proc_nice, proc_terminate, show_source, stream_socket_server, symlink, link, lchgrp, lchown, chown, chgrp, posix_initgroups, posix_kill, posix_mkfifo, posix_mknod, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_setuid, syslog, posix_getpwuid, passthru, parse_ini_file, fpassthru,cat,link,virtual,phpmail,apache_get_modules,apache_get_version,apache_getenv,apache_note,apache_setenv,curl_multi_exec,curl_exec

Bilgilendirme: Ben zarar gördüğüm fonksiyonları listeledim. Siz dilerseniz düzenleme yapabilir ya da yeni fonksiyonlar ekleyebilirsiniz. Atladığım fonksiyon varsa söylerseniz ben de post’u güncelleştiririm. :)

Pasifleştirilmiş fonksiyonları phpinfo parametresi ile görüntüleyebilirsiniz. Web sitenizde yeni bir php dosyası oluşturarak aşağıdaki komutu yazın ve disable_functions kelimesini aratın.

<?php echo phpinfo(); ?>

Eğer bir şey görüntüleyemiyorsanız php servisini yeniden başlatın ve tekrar deneyin.

--

--