php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.07.2010, 11:02  
Neuer Benutzer
 
Registriert seit: 06.07.2010
Beiträge: 6
PHP-Kenntnisse:
Fortgeschritten
ppan1006 befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Authentifizierung ohne Session überprüfen

Hallo zusammen,

Ich stehe vor folgendem Problem:

Ich habe ein kleines Portal entwickelt, wo ein Nutzer je nach Berechtigung verschiedene Links zu anderen Anwendungen angezeigt bekommt.
Nun können Nutzer bei Kenntniss des Links auch so auf die Anwendung zugreifen, und das möchte ich gerne unterbinden.

Auf Anhieb fallen mir da zwei Möglichkeiten ein:
1. Möglichkeit:
Ich leite nicht direkt über den link, sondern über eine "weiterleitungsdatei" und stelle in der Anwendung z.b. über htaccess ein, dass nur verbindungen von dem referrer angenommen werden.
Diese möglichkeit ist aber ziemlich unsicher, und deswegen nicht wirklich sinnvoll zu nutzen.

2. Möglichkeit:
Die Anwendung überprüft selbst nochmal, ob der Nutzer berechtigt ist, auf die Anwendung zuzugreifen. Das wäre dann relativ sicher, aber sehr umständlich, jede Anwendung da nochmal anzupassen.


Daher nun meine Frage: Wie kann ich auf möglichst einfache Weise das System absichern?

Besten Dank schonmal!
ppan1006 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.07.2010, 11:29  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Was ist denn eine Anwendung bei dir? Du solltest schon bei immer überprüfen ob der User berechtigt ist, Referer kann man beliebig einstellen, von daher auch keine Hürde.
Flor1an ist offline   Mit Zitat antworten
Alt 06.07.2010, 11:43  
Erfahrener Benutzer
 
Registriert seit: 30.07.2008
Beiträge: 1.167
PHP-Kenntnisse:
Fortgeschritten
xm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphäre
Standard

Was spricht denn gegen Sessions? Und was hat das mit Deinem Problem zu tun?
xm22 ist offline   Mit Zitat antworten
Alt 06.07.2010, 11:54  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Deiner Fragestellung nach willst du Sessions.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 06.07.2010, 12:55  
Neuer Benutzer
 
Registriert seit: 06.07.2010
Beiträge: 6
PHP-Kenntnisse:
Fortgeschritten
ppan1006 befindet sich auf einem aufstrebenden Ast
Standard

Also Anwendungen sind bei mir zum Beispiel eigenständige php-projekte, wie Reportgeneratoren, Berechnungen, etc.


Im Prinzip bin ich auch für Sessions (nutze ich ja schon in dem Portal), weil das mit dem referer einfach zu unsicher ist. Aber es ist recht aufwändig die überprüfungen in die einzelnen Anwendungen einzubauen, weshalb eine einfachere Möglichkeit nicht schlecht wäre.

Also gibt's sozusagen keine einfachere (und trotzdem sichere) Möglichkeit als Sessions, die Anwendungen so zu sperren, dass diese nur mit einem im Portal authentifizierten Benutzer freigeschalten sind?

Geändert von ppan1006 (06.07.2010 um 12:56 Uhr). Grund: grammatik
ppan1006 ist offline   Mit Zitat antworten
Alt 06.07.2010, 14:01  
Erfahrener Benutzer
 
Registriert seit: 30.07.2008
Beiträge: 1.167
PHP-Kenntnisse:
Fortgeschritten
xm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphäre
Standard

Ich verstehe das Problem nicht. Du müsstest doch auch überall der Referrer prüfen, oder nicht?
xm22 ist offline   Mit Zitat antworten
Alt 06.07.2010, 14:16  
Neuer Benutzer
 
Registriert seit: 06.07.2010
Beiträge: 11
PHP-Kenntnisse:
Fortgeschritten
Pikrasso befindet sich auf einem aufstrebenden Ast
Standard

Das schreit doch geradezu nach Sessions
Wenn du solche Sachen nicht immer doppelt und dreifach schreiben möchtest kommst du wohl an der OOP nicht vorbei. Einfach eine Basisklasse mit deinen Überprüfungen im constructor schreiben, alle betroffenen Klassen davon erben lassen. Fertig
Pikrasso ist offline   Mit Zitat antworten
Alt 06.07.2010, 14:36  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Zitat:
Zitat von ppan1006 Beitrag anzeigen
Also gibt's sozusagen keine einfachere (und trotzdem sichere) Möglichkeit als Sessions, die Anwendungen so zu sperren, dass diese nur mit einem im Portal authentifizierten Benutzer freigeschalten sind?
Als Teil eines "Portals" musst du zwar kein Login realisieren, aber es muss einen Handshake zwischen dir und dem Portal geben - im Endeffekt muss DEINE Software entscheiden, ob sie einen Portal-User mit einem bestimmten Token vorbeilässt oder nicht.
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 06.07.2010, 15:13  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Das einfachste erscheint mir hier schon eine Überprüfung der Session. Ob du jetzt in deinen Anwendungen überall auf die Sesssion prüfst oder auf den Referer kommt vom Codeaufwand eh aufs selbe raus!
Flor1an ist offline   Mit Zitat antworten
Alt 06.07.2010, 15:41  
Neuer Benutzer
 
Registriert seit: 06.07.2010
Beiträge: 11
PHP-Kenntnisse:
Fortgeschritten
Pikrasso befindet sich auf einem aufstrebenden Ast
Standard

Du musst ja überall prüfen, wo du den Zugang nicht jedem gewähren willst. Du kannst dir auch eine kleine Bibliothek schreiben die das macht. Einmal zentral geladen könnte man so die Abfrage in einem Einzeiler unterbringen.

Angenommen das Objekt der Bibliothek nennst du $foo. Dann könntest du mit einem Methodenaufruf wie z.B. $foo->isLoggedIn direkt den Status ausgeben lassen. Diesen Status schreibst du per setter in die Eigenschaft "isLoggedIn" der Bibliothek.

Ansonsten dürfte die ACL (Access Control List) auch eine Interessante Thematik für dich sein.
Pikrasso ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
fopen -> fgets keine ausgabe bei session dateien Really PHP Tipps 2010 8 21.06.2010 21:03
session variable verschwindet bei erneutem seitenaufruf david.a.p. PHP Tipps 2009 2 17.08.2009 16:07
SessionHandler - Sessions in einer Datenbank #Avedo Software-Design 11 04.05.2009 15:44
[Erledigt] Problem mit der übergabe einer Session ID Shinak PHP Tipps 2009 12 13.03.2009 14:30
Session nofear87 PHP Tipps 2008 8 05.11.2008 10:42
[Erledigt] Session Problem karina_02 PHP Tipps 2008 6 18.05.2008 22:37
Problem bei session Lifetime Cyberbob_at_tot PHP Tipps 2007 5 05.06.2007 17:47
session nach seitenwechsel leer... GELight PHP Tipps 2006 8 17.09.2006 15:17
Session beim wbb lite überprüfen ohne wbb-Daten? BartTheDevil89 Datenbanken 8 14.11.2005 14:15
[Erledigt] php session problem :( PHP Tipps 2005-2 5 21.10.2005 16:37
Session wird nicht angelegt PHP Tipps 2005-2 7 24.07.2005 13:35
Kreieren einer Session PHP Tipps 2005 11 28.05.2005 15:16
MIt einer Session ID den User überprüfen PHP Tipps 2005 8 17.02.2005 13:55
[Erledigt] Formulardaten in einer Session speichern, per Link übergeben PHP Tipps 2004-2 2 29.12.2004 15:47
Session überprüfen und löschen PHP Tipps 2004 8 23.07.2004 11:22

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php session überprüfen, user authentifizierung ohne sessions, php session prüfen, ppan1006, auf jeder seite php sessionüberprüfen kennwort, session überprüfen php, session überprüfen, seseion überprüfen, php prüfen ob user berechtig ist, authentifizierte session, anwendung ohne session trotzdem benutzer erkennen, authentifizierung ohne session

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:29 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum