Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

[gelöst] Log-In-Funktion im Menü über SSL

Eingetragen von Xallum (12)
am 13.05.2009 - 16:13 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

Hallo zusammen,

ich verwende Drupal erst seit kurzem.

Alle Eingaben der Nutzer möchte ich nun gern per SSL übertragen.
Dazu habe ich bereits das Modul "SecurePages" installiert und konfiguriert.
Das klappt auch soweit ganz gut.

Allerdings werden die Log-In-Daten nur beim manuellen Aufruf der Seite "users/login/ verschlüsselt übertragen,
nicht aber bei bei Eingabe der Daten in die Maske im Menü auf der linken Seite.
Dieses Problem könnte man sicherlich einfach lösen, in dem man alle Seiten über https ausliefert, dass will ich aber aufgrund der dadurch erhöhten Serverlast vermeiden.

Kann man auf die Log-in-Funktion, die über das Menü aufgerufen wird, zugreifen und diese an SSL binden?
In welcher Datei befindet sich diese Funktion?

Herzlichen Dank im Voraus für die Hilfe!

Viele Grüße

‹ [gelöst] Rätselhafte Warnungen [gelöst] Update und Neuste Umfrage - Block plötzlich weg??? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn du den Action-Pfad des

Eingetragen von Alexander Langer (3416)
am 13.05.2009 - 19:04 Uhr

Wenn du den Action-Pfad des Login-Formulars in Secure Pages einträgst, wird auch korrekt verschlüsselt. Und wenn die SSL Verschlüsselung von Seiten deinen Server überlastet, hast du entweder Unmengen Traffic (dann sollte ne Aufrüstung auch drin sein), oder aber ne hoffnungslos lahme Mühle. Die normalerweise für Spitzenlast einzuplanenden Reservern reichen im Normalbetrieb mehr als locker aus, die Verschlüsselung nicht spürbar ins Gewicht fallen zu lassen, weil die CPU Kerne die meiste Zeit eh Däumchen drehen.

--
mortendk: everytime you use contemplate... Thor is striking down from above with his mighty hammer - crushing and killing a kitten!

webseiter.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Herzlichen Dank für deine

Eingetragen von Xallum (12)
am 13.05.2009 - 19:34 Uhr

Herzlichen Dank für deine Antwort, Alexander!
Wie lautet denn der Action-Pfad des Log-In-Formulars? Ich habe bereits gesucht - konnte die Funktion / den Pfad jedoch nicht ausfindig machen.

Danke!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ah, hast Recht, die Action

Eingetragen von Alexander Langer (3416)
am 13.05.2009 - 19:40 Uhr

Ah, hast Recht, die Action ist der aktuelle Pfad, da ja eh alles über die index.php dispatcht wird. Einfach per Firebug den kompletten HTML Code des Blocks kopieren, in einen eigenen neuen Block setzen, den Pfad der Action entsprechend auf HTTPS umstellen und gut iss.

--
mortendk: everytime you use contemplate... Thor is striking down from above with his mighty hammer - crushing and killing a kitten!

webseiter.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke! Auf die von dir

Eingetragen von Xallum (12)
am 14.05.2009 - 10:58 Uhr

Danke! Auf die von dir geschilderte Art und Weise funktioniert die Weiterleitung zur https:// - Version.
Allerdings ist dies nur möglich, wenn ich den Standard-Block "Benutzeranmeldung" ebenso einblende.

Deaktiviere ich diesen, passiert nichts.
Gibt's da noch eine Möglichkeit, dies zu umgehen? Ist es möglich, den Standard-Block zwar einzubinden, allerdings nicht anzuzeigen, sodass seine Funktionalität gegeben ist?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Alternativ kannst du dir ein

Eingetragen von pebosi (2645)
am 14.05.2009 - 11:19 Uhr

Alternativ kannst du dir ein Mini-Modul schreiben mit folgender Funktion:

<?php
function modulname_form_alter(&$form, $form_state, $form_id) {
  if (
$form_id == 'user_login_block') {
    global
$base_url;
   
$form['#action'] = str_replace('://', 's://', $base_url) . $form['#action'];
  }
}
?>

gruß pebosi
--
http://www.pebosi.net

  • Anmelden oder Registrieren um Kommentare zu schreiben

Klasse, danke! Kannst du mir

Eingetragen von Xallum (12)
am 14.05.2009 - 12:35 Uhr

Klasse, danke! Kannst du mir dazu bitte noch verraten, wo bzw. wie ich das ganze implementiere?
Wie ein herkömmliches Modul mit Unterordner in sites/modules und name.module funktioniert es ja leider nicht.

Wenn ich es richtig deute, ist es bei deiner Funktion nicht nötig, einen neuen Block mit dem kopierten Action-Pfad anzulegen - somit könnte die herkömmliche Log-In Variante bestehen bleiben, ist das korrekt?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Guck mal unter

Eingetragen von pebosi (2645)
am 14.05.2009 - 12:59 Uhr

Guck mal unter http://www.drupalcenter.de/handbuch/15663. Im Prinzip brauchst du eine .module und eine .info Datei.
Den Block kopieren brauchste dann nicht.

gruß pebosi
--
http://www.pebosi.net

  • Anmelden oder Registrieren um Kommentare zu schreiben

Yup, #hook_form_alter ist

Eingetragen von Alexander Langer (3416)
am 14.05.2009 - 13:00 Uhr

Yup, #hook_form_alter ist praktisch die einzige wahre saubere Lösung.

--
mortendk: everytime you use contemplate... Thor is striking down from above with his mighty hammer - crushing and killing a kitten!

webseiter.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hm, ich habe nun die

Eingetragen von Xallum (12)
am 14.05.2009 - 13:10 Uhr

Hm, ich habe nun die folgenden Dateien mit dem jeweiligen Inhalt:

https.info

; $Id$
name = SSL Log-In
description = Erm&ouml;glicht das Einloggen  via https durch den Block &quot;Benutzeranmeldung&quot;.
core = 6.x

https.modul

<?php
// $Id: ssl.module,v 0.1 2009/05/14 14:00:18$

function ssl_form_alter(&$form, $form_state, $form_id) {
  if (
$form_id == 'user_login_block') {
    global
$base_url;
   
$form['#action'] = str_replace('://', 's://', $base_url) . $form['#action'];
  }
}
?>
(allerdings hier ohne ?>)

Das Modul wird im Adminbereich angezeigt und ich kann es auch aktivieren - allerdings gelange ich bei Eingabe der Log-In Daten immer noch auf eine http:// Seite.

Weiß jemand Rat?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn dein Modul https

Eingetragen von Alexander Langer (3416)
am 14.05.2009 - 13:12 Uhr

Wenn dein Modul https heißt, musst du das auch bei der Namensgebung deiner Hook-Implementierungen berücksichtigen.

--
mortendk: everytime you use contemplate... Thor is striking down from above with his mighty hammer - crushing and killing a kitten!

webseiter.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sorry, ist mir auch eben

Eingetragen von Xallum (12)
am 14.05.2009 - 13:19 Uhr

Sorry, ist mir auch eben aufgefallen. Nun funktioniert auch schon die https Weiterleitung, allerdings ist die base_url doppelt in der Adresszeile und damit erhalte ich die Meldung, dass die Seite nicht gefunden wurde.

An welcher Stelle kann ich das beheben?

Tausend Dank schon einmal für eure Hilfe!

  • Anmelden oder Registrieren um Kommentare zu schreiben

hm, hast du vielleicht in

Eingetragen von pebosi (2645)
am 14.05.2009 - 13:24 Uhr

hm, hast du vielleicht in den SecurePages Einstellungen eine "Secure Base URL" angegeben?

gruß pebosi
--
http://www.pebosi.net

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nein, daran liegt es wohl

Eingetragen von Xallum (12)
am 14.05.2009 - 13:28 Uhr

Nein, daran liegt es wohl leider nicht.
Kann es ein Problem sein, dass meine Drupal-Installation nicht direkt im Root-Verzeichnis, sondern in einem Unterordner liegt? Eigentlich nicht, oder?

Ich kann es mir nur so erklären, dass in der base_url und in der action der drupal Link drin wäre.

Also im Beispiel, so wäre es normal:

Zitat:

https://localhost/drupal/node?destination=node

und so passiert es gerade und führt zu einer Fehlermeldung:

Zitat:

https://localhost/drupal/drupal/node?destination=node

  • Anmelden oder Registrieren um Kommentare zu schreiben

hm, alternativ probier mal

Eingetragen von pebosi (2645)
am 14.05.2009 - 13:30 Uhr

hm, alternativ probier mal das hier:

$form['#action'] = securepages_baseurl() . $form['#action'];

gruß pebosi
--
http://www.pebosi.net

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hab mal für das Modul

Eingetragen von pebosi (2645)
am 14.05.2009 - 13:33 Uhr

Hab mal für das Modul SecurePages selbst einen Patch erstellt den du testen könntest: http://drupal.org/node/462438

gruß pebosi
--
http://www.pebosi.net

  • Anmelden oder Registrieren um Kommentare zu schreiben

pebosi schrieb hm,

Eingetragen von Xallum (12)
am 14.05.2009 - 13:49 Uhr
pebosi schrieb

hm, alternativ probier mal das hier:

$form['#action'] = securepages_baseurl() . $form['#action'];

Gleiches Problem, Pfad ist immer noch doppelt.

Wie implementiere ich deinen Patch? Einfach an das Ende der securepages.module kopieren?

  • Anmelden oder Registrieren um Kommentare zu schreiben

url()

Eingetragen von quiptime (4972)
am 14.05.2009 - 14:06 Uhr

url()

------------------------
Quiptime Group

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für die Antwort, nur

Eingetragen von Xallum (12)
am 14.05.2009 - 14:08 Uhr

Danke für die Antwort, nur inwiefern hilft mir das jetzt weiter? Zumindest ein kleiner Kommentar zu dem Link wäre hilfreich gewesen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Naja, Du baust die URL

Eingetragen von quiptime (4972)
am 14.05.2009 - 14:23 Uhr

Naja, Du baust die URL sozusagen haendisch auf:

Zitat:

$form['#action'] = str_replace('://', 's://', $base_url) . $form['#action'];

Verwende zum Bilden der URL testhalber die url() Funktion.

Das mag zwar sinnlos erscheinen aber es waere nicht die erste Situation die ich erlebe in der man korrekte URLs oder Links mit einer entsprechenden Drupal-Funktion gebildet bekommt.
So ist es auch mit irgendwelchen Links irgendwo im Code und der l() Funktion.

------------------------
Quiptime Group

  • Anmelden oder Registrieren um Kommentare zu schreiben

SSL Login gelöst

Eingetragen von Xallum (12)
am 15.05.2009 - 12:25 Uhr

Mein Problem ist anscheinend folgendes:

<form id="user-login-form" method="post" accept-charset="UTF-8" action="/drupal/node?destination=node">

Die Action wird als relativer Link angegeben. Nehme ich nun, wie in der geposteten Funktion gezeigt, die base_url hinzu, so habe ich natürlich dann "http://localhost/drupal/" davor und somit eine Doppelung von drupal, was den Fehler hervorruft.
Die baseurl benötige ich allerdings, um aus dem http ein https zu machen.

Lösung: Der oben angegebene Code funktioniert, wenn die drupal Installation direkt im Root-Verzeichnis liegt. Also www.example.com/node...

In meinem speziellen Fall jedoch, lagen die Dateien in dem Unterverzeichnis "Drupal".
Dieses wurde hierbei sowohl in die base_url, als auch in den Action-Pfad mit aufgenommen.
An dieser Stelle hilft ein einfaches beschneiden des Actionpfades um die Anzahl der Zeichen von "/drupal".

Danke für eure Hilfe!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 3 Tagen
  • Hey danke
    vor 1 Woche 4 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 5 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 2 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 2 Tagen
  • Kannst doch auch alles direkt
    vor 2 Wochen 6 Tagen
  • In der entsprechenden View
    vor 2 Wochen 6 Tagen
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 6 Tagen
  • gelöst
    vor 5 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20450

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 7 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association