Meowsalot: Keine Berechtigung

Hallo,

ich bin gerade dabei ein kleines Berechtigungssystem in meine Seite zu Implementieren. Dabei gehe ich wie folgt vor:


<?php if (!in_array("k_detailansicht",$teile)): ?>
<h2>Sie haben keine Berechtigung</h2>
<div class="zurueck">
	<p><a href="javascript:history.back()">Zurück zur Übersicht</a></p>
</div>
<?php exit; endif ?>

<h2><?php echo htmlspecialchars($bezeichnung) ?></h2>
<div class="zurueck">
<?php if (in_array("k_datenblatt_drucken",$teile)): ?>
	<p><a href="kalender-datenblatt-drucken.php?code=<?php echo $code ?>" target="_blank">Datenblatt drucken</a> - 
<?php endif ?>  
	   <a href="javascript:history.back()">Zurück zur Übersicht</a>
	</p>
</div>
<div>
	........
</div>

Die Frage ist, macht man dieses so mit dem exit oder soll ich den User lieber auf eine Extra Seite weiterleiten lassen?

Bis bald!
Meowsalot (Bernd)

  1. Tach!

    Die Frage ist, macht man dieses so mit dem exit oder soll ich den User lieber auf eine Extra Seite weiterleiten lassen?

    "Man" macht das so, "man" macht das aber auch anders.

    Ist es sinnvoll, eine halbe HTML-Seite zu erzeugen und dann abzubrechen? Wenn es sihc um einen bösartigen Bot handelt, dann ist es egal, was man antwortet. Einem Nutzer nur eine halbe Seite zu schicken ist eher ungünstig.

    Die Frage nach der Weiterleitung musst du gemäß deiner Anforderungen beantworten. Bedenke aber, dass dir serverseitig eine Menge Möglichkeiten zur Verfügung stehen. Beispielsweise auch if und else das Inkludieren von Dateien, und somit kann man je nach Anmeldestatus auch die eine oder andere Antwort direkt senden.

    dedlfix.

  2. Hallo Meowsalot,

    grundsätzlich sollte ein User, der über bestimmte Rechte nicht verfügt, die entsprechenden Funktionen gar nicht erst angeboten bekommen.

    Wenn so geschützte Funktionen dann aufgerufen werden, muss erneut geprüft werden. Der Aufruf kann ja durch eine fabrizierte URL gelungen sein. Und dann kann gerne eine wenig freundliche Meldung kommen. Keine Gnade den Hackern. Nur blöd wenn der User wegen eines Bugs an der Prüfung vorbei kam; zu unfreundlich solltest du also nicht sein...

    Und: Ich würde das „Zurück zur Übersicht“ nicht per History API umsetzen. Du weißt nicht sicher woher der Aufrufer kommt und vielleicht ist JavaScript aus. Lieber ein Link zu einer sinnvollen Indexseite.

    Rolf

    --
    sumpsi - posui - clusi
  3. Hello,

    beachte den dritten Parameter von in_array(), wenn Du keine unangenehmen Überraschungen haben willst.

    Ich würde das aber trotzdem anders machen, auch wenn es so gehen könnte...
    DBMS benutzen.

    Liebe Grüße
    Tom S.

    --
    Es gibt nichts Gutes, außer man tut es!
    Das Leben selbst ist der Sinn.
  4. Hej Meowsalot,

    
    <h2>Sie haben keine Berechtigung</h2>
    <div class="zurueck">
    	<p><a href="javascript:history.back()">Zurück zur Übersicht</a></p>
    </div>
    

    Vermutlich lässt sich dein Design auch ohne das div umsetzen. Wenn schon hätte ich ein gruppierendes div um die gesamte Ausgabe (inkl. Überschrift) erwartet.

    Wenn es nur ein einzelnes p enthält, wird ja nichts gruppiert…

    Marc