RESTRICT EDIT von PHP-Dateien?

Ich wollte den Zugriff auf ALLE Administratoren beschränken, um Zugriff auf EDIT jede PHP-Datei (Like Theme + Plugin-Editor UND ETC ..)

Ich habe ein Plugin namens System Edit Restriction entwickelt .

Derzeit verwende ich diesen Code, um Einschränkungen zu machen:

define( 'DISALLOW_FILE_EDIT', true ); define( 'DISALLOW_FILE_MODS', true ); $restricted_places = array('widgets.php','widgets.php','user-new.php', 'upgrade-functions.php','upgrade.php', 'themes.php', 'theme-install.php', 'theme-editor.php','setup-config.php','plugins.php', 'plugin-install.php','options-head.php','network.php', 'ms-users.php','ms-upgrade-network.php','ms-themes.php', 'ms-sites.php','ms-options.php','ms-edit.php','ms-delete-site.php','ms-admin.php','moderation.php','menu-header.php','menu.php','edit-comments.php', //any 3rd party plugins' menu pages, added under "settings" 'page=' ); foreach ( $restricted_places as $restriction ) { if ( stripos($_SERVER['REQUEST_URI'],$restriction) !== false) {exit;} } 

habe ich etwas verpasst? Kann irgendein Administrator AJAX-Anrufe (oder etc) machen, die mir Codes umgehen?

Solutions Collecting From Web of "RESTRICT EDIT von PHP-Dateien?"

Sie sollten den Anforderungs-URI bereinigen. Ich konnte dies umgehen, indem ich der URL einen zusätzlichen Schrägstrich hinzufügte. Beispielsweise:

 wp-admin/widgets.php 

Diese Anfrage zeigt eine leere Seite an (wie es sollte).

 wp-admin//widgets.php 

Diese Anfrage umgeht die Einschränkung.

Es ist hart, fast unmöglich, diese Frage bejahend zu beantworten (zB “Ja, das funktioniert wie erwartet”). Ab sofort gibt es mindestens eine Möglichkeit, die Beschränkungen zu umgehen, aber ich kann nicht sagen, ob es mehr gibt.

Ein besserer Weg wäre wahrscheinlich, WordPress ‘Capabilities Management zu verwenden. Es gibt einige Plugins, die eine Schnittstelle zum Verwalten von functionen bereitstellen. Ex:

https://wordpress.org/plugins/capability-manager-enhanced/