[SOLVED !] Hack für AdminX in phpwcms.php gesucht!

Post custom hacks and enhancements for phpwcms here only. Maybe some of these things will be included in official release later.
User avatar
kukki
Posts: 1709
Joined: Mon 7. Feb 2005, 20:02
Location: Berlin Köpenick
Contact:

[SOLVED !] Hack für AdminX in phpwcms.php gesucht!

Post by kukki »

Für eine individuelle Erweiterung einer gemeinnützigen Seite suche ich ein Hack, die hardcodiert sein kann.
Ein Admin soll alles an Rechten habe, wie bisher - ohne Einschränkungen.
Ein weiterer Admin soll keine Zugriffe auf die CSS, die Vorlagen und das Seitenlayout haben, alles andere wäre egal.
Die CSS könnte ich mit CMOD 444 sperren. Aber die Vorlagen sind ja in der Datenbank gespeichert.

Meine :idea: wäre in der /phpwcms.php den Aufbau der linken Spalte einfach abzuändern, dass diese Links nicht mehr enthalten sind.
Wenn man dann per Hand in der Datenbank den zweiten Admin auf AdminX umstellt, wäre dies schon eine einfach wirkungsvolle Möglichkeit für die CASEabfrage, die mir vollkommen reichen würde.

Kann mir da jemand weiterhelfen :?:
Last edited by kukki on Mon 15. Sep 2008, 11:03, edited 1 time in total.
Lieber arm dran als Arm ab!

meine historische Website: Jagdgeschwader 300 1.9.34-R554
kukki's SpIeLwIeSe V.1.9.33 R553 responsive
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: Hack für AdminX in phpwcms.php gesucht!

Post by update »

:lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:
Ich schmeiss mich glatt weg - die User / Gruppen /FE-BE / Editorenverwaltung mit allen fundable Dingens kommt!
Obacht Leute - Kukki schafft, was alle anderen bisher nicht geschafft haben!
ROFLMAO
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
User avatar
kukki
Posts: 1709
Joined: Mon 7. Feb 2005, 20:02
Location: Berlin Köpenick
Contact:

Re: Hack für AdminX in phpwcms.php gesucht!

Post by kukki »

Nicht schön, was Du da schreibst.
Ich will keine User-FE-BE-verwaltung, ich will nur, dass einzig allein die angeführten Links im Backend für einen Webmaster nicht zu sehen sind, damit derjenige nicht auf den Dreh kommt, dass Layout unwiederruflich zu zerschießen. Das wird derjenige sowieso schon selber rauskriegen, weil ich ahne, dass er die Menüs umstellen will :twisted: Was ist an meiner hardcodierten Idee so abfällig? Hast Du eien andere bessere Idee oder habe ich eine neue User-BE-FE- Komplett-Verwaltung verpasst? :evil:
Deswegen werde ich denjenigen Mitgliedern des Vereins keine neue Seite mit einem anderen wCMS machen! :P
Lieber arm dran als Arm ab!

meine historische Website: Jagdgeschwader 300 1.9.34-R554
kukki's SpIeLwIeSe V.1.9.33 R553 responsive
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: Hack für AdminX in phpwcms.php gesucht!

Post by update »

sorry, kukki, habe gerade (auch bezüglich dieses "hacks" (der mich an diverse Dinge erinnert hat) ziemlich schlechte Laune und Du bekommst es ab... :(
Last edited by update on Sat 13. Sep 2008, 20:44, edited 1 time in total.
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
User avatar
kukki
Posts: 1709
Joined: Mon 7. Feb 2005, 20:02
Location: Berlin Köpenick
Contact:

Re: Hack für AdminX in phpwcms.php gesucht!

Post by kukki »

Siehe auch PN! :)

Ich habe es gerade probiert! Meine Idee würde sich durchsetzen lassen für diesen speziellen Fall meiner Einschränkungen. Ich habe gerade einige Menüunkte mit "//" ausgeschaltet. Und weg waren diese zur Bedienung durch einen UNBefugten :evil:

Jetzt wäre nur noch die Abfrage einzufügen, um eine Varibale für die Einschränkung des "adminXX" zu bekommen. (§do)

Hier reichen meine Kenntnisse nicht mehr für eine Umsetzung. Mein Sohn ist nicht da wegen seiner Immatrikulation und Studienstart. Wer kann mir hier ein wenig helfen!
Lieber arm dran als Arm ab!

meine historische Website: Jagdgeschwader 300 1.9.34-R554
kukki's SpIeLwIeSe V.1.9.33 R553 responsive
User avatar
Toflar
Posts: 175
Joined: Wed 7. May 2008, 12:01
Location: Lyss / Schweiz
Contact:

Re: Hack für AdminX in phpwcms.php gesucht!

Post by Toflar »

Hallo kukki!

Ich schaue mal was ich mit meinen php-Kenntnissen machen kann.
Aber wie du dir selbst denken kannst, muss bei jedem Update, der Hack wieder geschrieben werden.

Ist also nicht DIE Lösung :wink:

Du liest von mir...
Last edited by Toflar on Sat 13. Sep 2008, 16:42, edited 2 times in total.
--------------------------------
Es grüsst

Toflar
User avatar
Cipolla
Posts: 451
Joined: Sat 16. Feb 2008, 20:39
Location: Muppet Show

Re: Hack für AdminX in phpwcms.php gesucht!

Post by Cipolla »

Evtl. wäre es mit bordmitteln einfacher einen neuen user anzulegen und die Artikelbesitzer auf diesen benutzer umzustellen. Somit kann admin wie gewohnt alles bearbeiten, und der user halt "nur" in allen artikeln rumsauen.

Ok, am anfang wahrscheinlich ne menge arbeit wenn du sehr viele artikel hast, aber zumindest brauchst du keinen hack und das system bleibt wunderbar updatefähig.

Ggfs. kann man den "Besitzer" aller artikel auch per mysql-script automatisch in der datenbank ändern? bestimmt hat da irgendwer eine idee.
...
User avatar
Toflar
Posts: 175
Joined: Wed 7. May 2008, 12:01
Location: Lyss / Schweiz
Contact:

Re: Hack für AdminX in phpwcms.php gesucht!

Post by Toflar »

Da bin ich schon...mit einer UNGETESTETEN UND AUF EIGENE VERANTWORTUNG ZU VERWENDENDEN Version:

root/login.php

Suche auf Zeile 184 folgenden Code:

Code: Select all

if($row["usr_lang"]) {
				$_SESSION["wcs_user_lang"]	= $row["usr_lang"];
			}
Füge danach ein:

Code: Select all

// Special Admin-Hack by Toflar
			if($row["usr_id"] == 99) {
      $_SESSION["special_admin"] = 1;
      }
Dabei ersetzt du die 99 durch die UserID deines Benutzers. Die findest du im Backend unter Benutzerverwaltung. Überfahre den User mit deinem Cursor (es ist der Link zum Bearbeiten) und schaue den Link in der Statusleiste des Browsers an.
Bsp: http://www.meine-domain.ch/phpwcms.php?do=admin&s=2&u=99

Die UserID ist rot markiert!

root/phpwcms.php

Suche auf Zeile 172 folgenden Code:

Code: Select all

if(isset($_SESSION["wcs_user_admin"]) && $_SESSION["wcs_user_admin"] == 1) {
Ersetze diese Zeile durch:

Code: Select all

if(isset($_SESSION["wcs_user_admin"]) && $_SESSION["wcs_user_admin"] == 1 && !isset($_SESSION["special_admin"])) {
Wie gesagt - auf die schnelle und ohne Gewähr. Sollte deinem Spezial-User den Zugang zum Admin komplett verbieten...
Lass mich aber das Ergebnis wissen, ist bei Bedarf ausbaubar...
--------------------------------
Es grüsst

Toflar
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: Hack für AdminX in phpwcms.php gesucht!

Post by update »

Sackzementnochmal!
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
User avatar
Jensensen
Posts: 3000
Joined: Tue 17. Oct 2006, 21:11
Location: auf der mlauer

Re: Hack für AdminX in phpwcms.php gesucht!

Post by Jensensen »

claus wrote:Sackzementnochmal!
da legts di nieder... :mrgreen:
{so_much} | Knick-Knack. | GitHub
Umlaute im URL sind meistens immer Kacke.
User avatar
kukki
Posts: 1709
Joined: Mon 7. Feb 2005, 20:02
Location: Berlin Köpenick
Contact:

Re: Hack für AdminX in phpwcms.php gesucht!

Post by kukki »

Besten Dank die Lösungsansätze.
Ich habe nach einiger Überlegung folgende Lösung erstellt, die jeder frei nutzen kann:
1. In der Datenbanktabelle ...user ist das Feld usr_rechte enthalten, dass ob admin oder nicht derzeit immer noch Null ist. Also stelle ich dieses betreffende Feld für einen ausgewählten Webmaster auf "11"
2. Das Login-script habe ich unverändert gelassen (danke @Toflar), dort stamm aber mein Lösungsvorschlag her, denn wie zu sehen werden im SESSION-ARRAY alle, auch usr_rechte mitgeschleift. Ergo ... beste Voraussetzung, um diese variable zu nutzen!
3. Einzige Änderung in /phpwcms.php ist eine Abfrageerweiterung: Ist der Admin mit usr_recht=11, dann schränke die LinkListe im Backend ein. Ansonsten weiter wie gehabt.
Ist doch eigentlich simple, oder :?:

:idea: Lösung:
Suche diese Stelle: (ca. Zeile 190)

Code: Select all

case "admin":        //Admin
                        if( isset($_SESSION["wcs_user_admin"]) && $_SESSION["wcs_user_admin"] == 1) {
Ändere die nachfolgenden Zeilen bis vor dem BREAK; wie folgt
include_once(PHPWCMS_ROOT.'/include/inc_lib/admin.functions.inc.php');

if( isset($_SESSION["wcs_user_rechte"]) && $_SESSION["wcs_user_rechte"]!=11){
// ------------------------------------------- diese Links im Backend für usr-rechte unterdrücken --------------------------------
$subnav .= subnavtext($BL['be_subnav_admin_pagelayout'], "phpwcms.php?do=admin&p=8", $p, "8", 0);
$subnav .= subnavtext($BL['be_subnav_admin_templates'], "phpwcms.php?do=admin&p=11", $p, "11", 0);
$subnav .= subnavtext($BL['be_subnav_admin_css'], "phpwcms.php?do=admin&p=10", $p, "10", 0);

// ------------------------------------------- Ende für usr-rechte unterdrücken --------------------------------
}

$subnav .= subnavtext($BL['be_subnav_admin_sitestructure'], "phpwcms.php?do=admin&p=6", $p, "6", 0);
$subnav .= '<tr><td colspan="2"><img src="img/leer.gif" height="5" width="1" alt="" /></td></tr>'."\n";
$subnav .= '<tr><td colspan="2"><img src="img/leer.gif" height="5" width="1" alt="" /></td></tr>'."\n";
$subnav .= subnavtext($BL['be_subnav_admin_users'], "phpwcms.php?do=admin", $p, "", 0);
$subnav .= '<tr><td colspan="2"><img src="img/leer.gif" height="15" width="1" alt="" /></td></tr>'."\n";
$subnav .= subnavtext($BL['be_admin_keywords'], "phpwcms.php?do=admin&p=5", $p, "5", 0);
$subnav .= subnavtext($BL['be_subnav_admin_filecat'], "phpwcms.php?do=admin&p=7", $p, "7", 0);
$subnav .= subnavtext($BL['be_subnav_admin_starttext'], "phpwcms.php?do=admin&p=12", $p, "12", 0);
$subnav .= '<tr><td colspan="2"><img src="img/leer.gif" height="15" width="1" alt="" /></td></tr>'."\n";
$subnav .= subnavtext($BL['be_cnt_cache_update'], 'include/inc_act/act_cache.php', 1, 0, 0);
$subnav .= subnavtext($BL['be_cnt_cache_delete'], 'include/inc_act/act_cache.php?do=9', 1, 0, 0, 'onclick="GP_popupConfirmMsg(\''.$BL['be_cnt_cache_delete_msg'].'\');return document.MM_returnValue;" ');
$subnav .= subnavtext($BL['be_cnt_move_deleted'], 'include/inc_act/act_file.php?movedeletedfiles='. $_SESSION["wcs_user_id"], 1, 0, 0, 'onclick="GP_popupConfirmMsg(\''.$BL['be_cnt_move_deleted_msg'].'\');return document.MM_returnValue;" ');
$subnav .= '<tr><td colspan="2"><img src="img/leer.gif" height="15" width="1" alt="" /></td></tr>'."\n";
$subnav .= subnavtextext('phpinfo()', 'include/inc_act/act_phpinfo.php', '_blank', 0);
if($phpwcms["phpmyadmin"]) {
$subnav .= subnavtextext('phpMyAdmin', 'include/inc_ext/phpMyAdmin/', '_blank', 0);
}
}
Habe den Test mit admin und eingeschränkten admin durchgeführt incl. Arbeiten im Backend! :D
Für jedwedige Nachahmung übernehme ich keine Garantie, das bleibt Euer Problem :!:

Holla .... und sie bewegt sich doch!
Lieber arm dran als Arm ab!

meine historische Website: Jagdgeschwader 300 1.9.34-R554
kukki's SpIeLwIeSe V.1.9.33 R553 responsive
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: [SOLVED !] Hack für AdminX in phpwcms.php gesucht!

Post by juergen »

Nachvollzogen, hat sofort funktioniert, login.php gelöscht und sofort 99 % Sicherheit !
User avatar
Cipolla
Posts: 451
Joined: Sat 16. Feb 2008, 20:39
Location: Muppet Show

Re: [SOLVED !] Hack für AdminX in phpwcms.php gesucht!

Post by Cipolla »

$subnav .= subnavtext($BL['be_subnav_admin_users'], "phpwcms.php?do=admin", $p, "", 0);
Wenn er denn clever wäre, könnte er sich selbst aber einen neuen User mit Admin-Rechten anlegen, der dann in der Datenbank wohl wieder unter usr_rechte mit 0 gelistet ist und demnach wieder alles ändern kann :wink:

Or, am i missing something?

Mal so als Vorschlag, warum suchst du nicht die Stelle im oberen, horizontalen Menü raus und deaktivierst einfach den ADMIN - Link oder darf dieser Pseudo-Admin auch in der Seitenstruktur rumfummeln?
...
User avatar
Toflar
Posts: 175
Joined: Wed 7. May 2008, 12:01
Location: Lyss / Schweiz
Contact:

Re: [SOLVED !] Hack für AdminX in phpwcms.php gesucht!

Post by Toflar »

Naja alles schön und gut...sind nur leider die Links, die deaktiviert werden...nicht die Rechte.

Wenn dein Admin, also einfach den Link in die Adressleiste eingibt, kann er immer noch darauf zugreifen...

Und das mit den Userrechten spielt doch keine Rolle. Kannst auch eine neue Session generieren, wie ich es gemacht habe, dann fummelst du nicht an den Originalparametern rum...
--------------------------------
Es grüsst

Toflar
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: [SOLVED !] Hack für AdminX in phpwcms.php gesucht!

Post by juergen »

Brät jetzt jeder seine Lösung ? Das mit der Navi ausblenden fand ich echt "elegant" ;) Wenn man doch mal Volladmin sein will, grade den Link ändern und schon passts :mrgreen: Ich warte schon bis eine Kopie aus Typolight kommt .
Post Reply