Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 23. Januar 2011 20:26

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.017
Webseite

Datenbank-Präfix cms_ ändern

Warum sollten der Präfix geändert werden?

Standardmäßig wird vom Installationsassistenten das Präfix "cms_" verwendet. Das Problem dabei ist, das dieser somit bekannt ist, was SQL-Injektionen erleichtert, falls ein Angreifer eine Lücke auf der Webseite findet. Es ist dann einfacher, auf die Datenbank zuzugreifen, wenn man den vollen Tabellennamen kennt bzw. erraten kann.

Eine Änderung des Präfixes macht es dem Angreifer deutlich schwerer, auf die Datenbank zugreifen zu können, was die Sicherheit eurer Webseite erhöht.

Ein engagierter Anwender hat für MySQL ein Script erstellt, dass ich euch hier nicht vorenthalten möchte

http://cms.interiete.net/prefix-cms-ms.html

Evtl. könnt ihr bei dieser Gelegenheit auch mal testen, ob es auch mit der aktuellen CMSms-Version funktioniert und Jan dann Bescheid geben cool ...

Offline

#2 23. Januar 2011 21:02

mörml
Server-Pate
Registriert: 23. Januar 2011
Beiträge: 443

Re: Datenbank-Präfix cms_ ändern

Über das Dingelchen hatte ich mich schon gefreut - doch dann kommt nur: Couldn't connect to host.

sad


kann CMSms buchstabieren...

CMSms 1.11.12
PHP 5.5.14

Offline

#3 23. Januar 2011 22:10

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.927
Webseite

Re: Datenbank-Präfix cms_ ändern

Steht in der config.php auch der neue Prefix drin? Ich hab das Script bisher nie ausprobiert und kann entsprechend nicht sagen wie es funktioniert.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#4 24. Januar 2011 23:16

mörml
Server-Pate
Registriert: 23. Januar 2011
Beiträge: 443

Re: Datenbank-Präfix cms_ ändern

Nein, steht nicht drin.
Bin stur nach "Anleitung" gegangen, und die sagt, dass ich lediglich die Zeile

$config['old_db_prefix'] = 'cms_';

in meine Config.php schreiben soll.


kann CMSms buchstabieren...

CMSms 1.11.12
PHP 5.5.14

Offline

#5 24. Januar 2011 00:47

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.017
Webseite

Re: Datenbank-Präfix cms_ ändern

OK, mal eine kleine Anleitung:

  1. deine Installation in den Wartungsmodus versetzen

  2. die ZIP-Datei prefixChanger_1.8.1.zip herunterladen und entpacken

  3. die entpackte PHP-Datei prefixChanger.php via FTP o.ä. in den gleichen Ordner (CMSms-Wurzelverzeichnis) wie die die Konfigurationsdatei config.php hochladen

  4. die Datei config.php bearbeiten und den neuen Präfix via $config['db_prefix'] festlegen, z.Bsp.

    $config['db_prefix'] = 'cms0815_';
  5. direkt danach einen neuen Eintrag, z.Bsp.

    $config['old_db_prefix'] = 'cms_';

    hinzufügen (wobei der Wert für $config['old_db_prefix'] dem Präfix eurer aktuellen Datenbank entsprechen sollte) und die config.php abspeichern

  6. ein Backup der aktuellen Datenbank erstellen (via PHPMyAdmin, MySQLDumper o.ä.)

  7. anschließend im Browser die jeweilige URL, z.Bsp. www.deine-domain.de/prefixChanger.php aufrufen

  8. nach erfolgreichem Abschluß deine Installation den Wartungsmodus wieder deaktivieren

  9. Funktionsfähigkeit der Installation testen

  10. aus Sicherheitsgründen das Script prefixChanger.php wieder vom Server löschen

PS: Für die erfolgreiche Ausführung des Scripts muss euch der Hoster bestimmte Ausführungsrechte für die Datenbank eingeräumt haben.

Offline

#6 01. Februar 2011 20:16

LeisureLarry
Gast

Re: Datenbank-Präfix cms_ ändern

@cyberman:
Danke für das Retten des Beitrags und das Schreiben der Anleitung. Ich habe leider derzeit wenig Zeit, weswegen ich mich auch erst heute hier registriert habe.

@mörml:
Die Meldung bedeutet, daß mittels der Funktion mysql_connect und der normalen Datenbank-Zugangsdaten aus der config.php keine Verbindung zur DB aufgebaut werden konnte. Öffne die Datei prefixChanger.php mal mit einem Texteditor (zB Notepad++) und lösch in Zeile 41 das Zeichen "@" vor mysql_connect. Dann wird die Ausgabe des eigentlichen PHP-Fehlers nicht mehr unterdrückt. Poste diesen dann bitte mal hier (vorher Zugangsdaten unkenntlich machen).

LeisureLarry (interiete.net)

#7 01. Februar 2011 21:47

piratos
Gast

Re: Datenbank-Präfix cms_ ändern

Zu den notwendigen Rechten:

When you execute RENAME, you cannot have any locked tables or active transactions. You must also have the ALTER and DROP privileges on the original table, and the CREATE and INSERT privileges on the new table.

Durch die Verwendung von ereg ist das Script nicht PHP 5.3 kompatibel.