Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

[gelöst]Zugriff auf Node durch Eingabe des Nodepfades in der Adressleiste verhindern

Eingetragen von shorty75 (4)
am 23.08.2011 - 07:44 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo,

ich möchte verhindern, dass ein User einen Node durch die Eingabe des entsprechenden Pfades
in der Adressleiste erreicht. Der Node soll nur durch einen Link erreichbar sein.
Ist es möglich das zu realisieren?

‹ Text beim Speichern modifizieren Datenbankabfrage für Autocomplete zeigt nicht alle Einträge ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Dürfte so ohne weiteres nicht

Eingetragen von Exterior (2903)
am 23.08.2011 - 07:55 Uhr

Dürfte so ohne weiteres nicht möglich sein, da beide Sachen im Grunde das gleiche sind. Bei beiden Varianten wird einfach nur eine Anfrage mit der URL an den Server gesendet. Der Link übernimmt eigentlich nur die Eingabe in die Adresszeile, vereinfacht ausgedrückt. Man könnte evtl. mit dem Refferer arbeiten, wenn der Link auf einer bestimmten Seite auftaucht, ist aber etwas Gefummel.

Oder man hängt beim Link noch einen kryptischen Zahlen-Code als Parameter an und zeigt den Node nur, wenn der Code übergeben wird und stimmt, aber das klappt auch nur, wenn die Leute den Code nicht kennen.

Was genau hast du denn vor?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich möchte ein Modul

Eingetragen von shorty75 (4)
am 23.08.2011 - 08:01 Uhr

Ich möchte ein Modul schreiben, in dem User Daten eingeben. Anhand dieser Daten wird der User dann auf einen Webform Node weitergeleitet (oder auch nicht, abhängig von der Dateneingabe). Das Webform Formular soll nur durch mein Modul erreichbar sein.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mmmh, du könntest dem User in

Eingetragen von Exterior (2903)
am 23.08.2011 - 08:38 Uhr

Mmmh, du könntest dem User in deinem Modul etwas in die Session schreiben und diesen Eintrag verarbeiten.

Beispiel:

User gibt Daten ein und sendet diese ab --> dein Modul verarbeitet die Daten und kommt zu dem Schluss "der darf zur Webform" --> also trägst du in die Session des Users einen Wert ein ( webform_access => true oder so). Beim Aufruf der Webform prüfst du (hook_nodeapi oder irgendwelche Webform-API-Funktionen, falls vorhanden), ob der Session-Wert "webform_access" auf true steht. Wenn ja, ist alles ok, wenn nicht, wird der User auf eine andere Seite geleitet. Anschließend entfernst du den Session-Wert wieder.

Wenn ein User jetzt einfach so den Webform-Node aufruft, hat er natürlich nicht den Session-Wert und wird sofort weitergeleitet.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank. Das werde ich

Eingetragen von shorty75 (4)
am 23.08.2011 - 08:47 Uhr

Vielen Dank. Das werde ich mal testen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Oder, was dem ziemlich

Eingetragen von Alexander Langer (3416)
am 23.08.2011 - 09:01 Uhr

Oder, was dem ziemlich ähnlich ist, du übergibst beim Aufruf des Formulars einen Token, den du im Hintergrund temporär in der DB gespeichert hast. Das Formular selbst wird nur ausgegeben, wenn der Token in der DB gefunden wurde und wird dort nach dem Aufruf des Formulars gelöscht, so dass der Aufruf nur einmal funktioniert.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Es hat funktioniert. Ich habe

Eingetragen von shorty75 (4)
am 25.08.2011 - 12:00 Uhr

Es hat funktioniert. Ich habe in der Session $SESSION['bliz-user']['webform_access'] = true eingetragen.
In einer hook_nodeapi-Function ist folgendes eingetragen:

function bliz_nodeapi(&$node, $op, $teaser, $page)
{
switch($op)
{
case 'view':
if ($node->type == 'webform')
{
if (!isset($_SESSION['bliz_user']['webform_access']))
{
drupal_goto('<front>');
}
}
break;
}
}

Danke für die Hilfe.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Best Practices for Plain Text Notes
  • gepatchte PHP Version 7.4 für Windows
  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
Weiter

Neue Kommentare

  • Muss ja nicht genau php 8.3 sein
    vor 2 Tagen 10 Stunden
  • Guten morgen und Danke
    vor 2 Tagen 17 Stunden
  • Evtl. versuchen auf PHP 8 zu wechseln
    vor 2 Tagen 23 Stunden
  • Danke Schmittrich. Die Frage
    vor 4 Tagen 15 Stunden
  • Keine Antwort auf die Frage nach dem Woher
    vor 4 Tagen 18 Stunden
  • Danke ich werde mir die
    vor 6 Wochen 2 Tagen
  • Vielen Dank für Ihren
    vor 6 Wochen 5 Tagen
  • Composer ist sehr ratsam
    vor 7 Wochen 4 Stunden
  • Vielen Dank für den
    vor 7 Wochen 2 Tagen
  • Die alten CMS Vergleiche von contentmanager.de
    vor 7 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250324
Registrierte User: 20571

Neue User:

  • alxshell
  • FesObsemo
  • AnthonyhoF

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 9 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