php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 28-02-2008, 17:36
AnNo1968
 Newbie
Links : Onlinestatus : AnNo1968 ist offline
Registriert seit: Feb 2008
Beiträge: 21
AnNo1968 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Zugriff und Authoriesierungs Problem

Hallo,

ich suche eine Lösung für folgendes Problem:

Ein Shop liegt im / des Verzeichnises www vom Webserver. Habe einen Link den nur eingeloggte Shop-Benutzer sehen.

Über diesen Link öffnet sich ein neues Fenster. Dort erscheint eine Index- Seite wo der Benutzer sich in ein auf PHPatm bassierendes upload-script registriern und einloggen kann.

Das mit dem erneuten registrieren und einloggen soll auch so sein. Alles funktioniert.

Der Benutzer kann nach Registrierung in seinem eigenen Bereich Dateien uploaden, Verzeichnisse anlegen,
wenn er eingeloggt ist.

Das upload-script benutzt zur User-verwaltung keine Datenbank!! Und liegt im /eigenen verzeichnis.

Mein eigentliches Problem ist, dass wenn ich den Pfad zum upload-script in die Adresszeile des Browsers eingebe erscheint die Index-Seite des upload-scripts auch wenn ich nicht im Shop angemeldet bin.

Das möchte ich verhindern. In diesem Fall soll die Startseite des Shops erscheinen.

Nur wenn man im Shop eingeloggt ist, und den Link sieht, das neue Fenster öffnet soll die Login-Seite des upload-scripts erscheinen.


Wie löse ich dieses Problem?

Was muss ich wo wie ändern damit es so Funktioniert wie beschrieben?

Gibt es eine einfache Möglichkeit das ohne großen Programmieraufwand zu lösen?

Wenn möglich bitte mit ausführlicher Erklärung für PHP-Newbie.

Danke für eure Hilfe.
__________________

Verständnis heißt:

Die Situation, den Standpunkt und den Blickwinkel des anderen zu akzeptieren.
Mit Zitat antworten
  #2 (permalink)  
Alt 28-02-2008, 17:55
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

leg beim einloggen eine session an, in der du den status abspeicherst. den kannst du auf den entsprechenden seiten dann abfragen.

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #3 (permalink)  
Alt 29-02-2008, 18:07
AnNo1968
 Newbie
Links : Onlinestatus : AnNo1968 ist offline
Registriert seit: Feb 2008
Beiträge: 21
AnNo1968 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo Peter

Herzlichen Dank für den Tipp mit den Sessions.

Der Shop stetzt ja schon Sessions ein.

So habe ich auf der Seite mit dem Link im Shop einfach die SID so übergeben:

PHP-Code:
echo
"<a href=\"http://meineDomäne/upload/login.php?' . SID . '\" target=\"_new\">hier geht es zum upload</a>"
im /upload Verzeichnis habe ich eine .htaccess Datei mit folgenden Inhalt:

Code:
DirectoryIndex start.php
die start.php im /uplod Verzeichnis:

PHP-Code:
<?php
 
if (isset ($_POST[session_name()]))
   {
    
header("Location: http://meineDomäne/shop/upload/index.php");
   }
  else
    {
      
header("Location: http://meineDomäne/shop/index.php");
    }
?>
Wenn ich jetzt die URL zum upload-script im Browser eingebe und nicht im Shop eingeloggt bin erscheint die Startseite vom Shop.

Wenn ich im Shop eingeloggt bin und im Shop auf den Link zum upload-script anklicke öffnet sich im neuen Fenster die Startseite des upload-scripts.

So sollte es auch sein.

Nur gibt es noch einen Fehler:

Wenn ich im Shop eingeloggt bin das Upload-script im neuen Fenster öffne und dann das neue Fenster wieder schließe. Aus dem Shop auslogge.

Dann im Browser
Code:
http://meineDomäne/shop/upload/index.php?' . SID . '
eingebe.

Erscheint die Startseite des upload-scripts. Das soll aber nicht sein. Da ich ja nicht im Shop eingeloggt bin.

Wie behebe ich diesen Fehler???

Wenn möglich bitte mit ausführlicher erklärung für PHP-Newbie

Danke
__________________

Verständnis heißt:

Die Situation, den Standpunkt und den Blickwinkel des anderen zu akzeptieren.
Mit Zitat antworten
  #4 (permalink)  
Alt 29-02-2008, 18:19
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Erscheint die Startseite des upload-scripts. Das soll aber nicht sein. Da ich ja nicht im Shop eingeloggt bin.
da wird das session-cookie wohl anderer meinung sein. was machst du denn beim ausloggen? die session zerstören?

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #5 (permalink)  
Alt 29-02-2008, 18:26
AnNo1968
 Newbie
Links : Onlinestatus : AnNo1968 ist offline
Registriert seit: Feb 2008
Beiträge: 21
AnNo1968 ist zur Zeit noch ein unbeschriebenes Blatt
Question

Session zerstören.

Was meinst du den damit

Wie und wo mache ich das am besten. ???

Der Shop besitz eine logout.php, ist diese Datei der richtige ansatz ???

Wie gesagt ich bin PHP-Newbie
__________________

Verständnis heißt:

Die Situation, den Standpunkt und den Blickwinkel des anderen zu akzeptieren.
Mit Zitat antworten
  #6 (permalink)  
Alt 29-02-2008, 19:52
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
PHP-Code:
echo
"<a href=\"http://meineDomäne/upload/login.php?' . SID . '\" target=\"_new\">hier geht es zum upload</a>"
Du bist dir aber schon bewusst, dass du den String SID und nicht die Konstante SID verwendet hast?
Ein Tipp: Strings sollten in ' und ' geschrieben werden, weil du dann bei HTML Attributen nicht escapen musst und gezwungen bist Variabeln und Strings korrekt zu verknüpfen
Und ein strip_tags() sollte auch nicht fehlen.
PHP-Code:
echo
'<a href="http://meineDomäne/upload/login.php?'.strip_tags(SID).'" target="_new">hier geht es zum upload</a>'
Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #7 (permalink)  
Alt 29-02-2008, 19:59
AnNo1968
 Newbie
Links : Onlinestatus : AnNo1968 ist offline
Registriert seit: Feb 2008
Beiträge: 21
AnNo1968 ist zur Zeit noch ein unbeschriebenes Blatt
Question

Ich hab in der logout.php vom Shop

PHP-Code:
session_destroy(); 
eingetragen.

Der Fehler bleibt bestehen:

Zitat:
Dann im Browser

Code:
http://meineDomäne/shop/upload/index.php?' . SID . '
eingebe.

Erscheint die Startseite des upload-scripts. Das soll aber nicht sein. Da ich ja nicht im Shop eingeloggt bin..


Was kann oder muss noch machen, damit der Fehler behoben ist ???

Danke
__________________

Verständnis heißt:

Die Situation, den Standpunkt und den Blickwinkel des anderen zu akzeptieren.
Mit Zitat antworten
  #8 (permalink)  
Alt 29-02-2008, 20:21
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

das mit dem session-plätten ist so eine sache. da muss man zu radikalen methoden greifen:
PHP-Code:
$_SESSION = array();
session_unset();
session_destroy(); 
sicher ist sicher

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #9 (permalink)  
Alt 29-02-2008, 20:58
AnNo1968
 Newbie
Links : Onlinestatus : AnNo1968 ist offline
Registriert seit: Feb 2008
Beiträge: 21
AnNo1968 ist zur Zeit noch ein unbeschriebenes Blatt
Question

@tobi

vielen Dank für den Tipp. Hab ihn gleich umgesetzt.

@peter

hab die radikalen methoden verwendet.

Das Problem bleibt leider weiter bestehen
__________________

Verständnis heißt:

Die Situation, den Standpunkt und den Blickwinkel des anderen zu akzeptieren.
Mit Zitat antworten
  #10 (permalink)  
Alt 29-02-2008, 21:31
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Das Problem bleibt leider weiter bestehen
dann hast du einen fehler gemacht. zeig mal den relevanten code der logout.php und den validierungscode in der upload/index.php.

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #11 (permalink)  
Alt 03-03-2008, 14:38
AnNo1968
 Newbie
Links : Onlinestatus : AnNo1968 ist offline
Registriert seit: Feb 2008
Beiträge: 21
AnNo1968 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo Peter

der Bereich in der /shop/logout.php wo die Session beendet wird:

PHP-Code:
// Session End

$SESSION = array();
session_unset();
session_destroy(); 
der validierungs Bereich in der /upload/index.php:

PHP-Code:
if (isset ($_POST[session_name()]) && ($session_started == false))
   {
    
header("Location: http://meineDomäne/shop/index.php");
   }
   else
    {
      
// In diesem Bereich steht der eigentliche Inhalt der /upload/index.php
    

Gruß Andreas
__________________

Verständnis heißt:

Die Situation, den Standpunkt und den Blickwinkel des anderen zu akzeptieren.
Mit Zitat antworten
  #12 (permalink)  
Alt 03-03-2008, 17:01
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

dann wird deine bedingung falsch sein
PHP-Code:
if (isset ($_POST[session_name()]) && ($session_started == false)) 
warum nicht so was in der art?
PHP-Code:
if (!isset ($_SESSION['user')) 
gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #13 (permalink)  
Alt 03-03-2008, 20:21
AnNo1968
 Newbie
Links : Onlinestatus : AnNo1968 ist offline
Registriert seit: Feb 2008
Beiträge: 21
AnNo1968 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
warum nicht so was in der art?


PHP-Code:
if (!isset ($_SESSION['user')) 
Wenn ich es in der Art mache, bekomme ich wenn im Shop eingeloggt bin und vom Link das upload-script im neuen Fenster
öffnen will wieder nur den Shop angezeigt und nicht das upload-script.

Der Link auf der Seite im Shop schaut so aus:



PHP-Code:
echo
'<a href="http://meineDomäne/upload/login.php?'.strip_tags(SID).'" target="_new">hier geht es zum upload</a>'
Gruß Andreas
__________________

Verständnis heißt:

Die Situation, den Standpunkt und den Blickwinkel des anderen zu akzeptieren.
Mit Zitat antworten
  #14 (permalink)  
Alt 04-03-2008, 18:02
AnNo1968
 Newbie
Links : Onlinestatus : AnNo1968 ist offline
Registriert seit: Feb 2008
Beiträge: 21
AnNo1968 ist zur Zeit noch ein unbeschriebenes Blatt
Question

Wenn die Session einen Namen hat wie:

PHP-Code:
session_name('abc'); 
Muss ich dann auf der Seite im Shop mit dem Link zum upload Script den Namen der Session auch angeben
wenn ich einen Wert in eine Variable setzen will. So etwa:

PHP-Code:
session_name('abc');
session_start();
if (empty(
$_SESSION['meinevar'])) {
  
$_SESSION['meinevar'] = 'meinwert';

Oder ist das Falsch? Wo mache ich einen Script- und/oder Denk-Fehler?

Wenn ich dann in der /upload/index.php Abfrage ob diese Variable existiert muss ich dann auch den Namen
der Session mit angeben. So etwa:

PHP-Code:
session_name('abc');
session_start();
if (!isset(
$_SESSION['meinevar']))
   {
    
header("Location: http://meineDomän/shop/index.php");
   }
  else
    {
      
//Hier steht der eigentliche Inhalt der /upload/index.php
    

Oder ist das Falsch ? Wo mache ich einen Script- und/oder Denk-Fehler?

Und wie übergebe ich dann die Variable "meinevar" von der Seite im Shop mit dem Link an
die /upload/index.php?

Vielen Dank für eure Hilfe

Gruß Andreas
__________________

Verständnis heißt:

Die Situation, den Standpunkt und den Blickwinkel des anderen zu akzeptieren.
Mit Zitat antworten
  #15 (permalink)  
Alt 05-03-2008, 19:34
AnNo1968
 Newbie
Links : Onlinestatus : AnNo1968 ist offline
Registriert seit: Feb 2008
Beiträge: 21
AnNo1968 ist zur Zeit noch ein unbeschriebenes Blatt
Question Phänomen

Ich hoffe das mir ein Foren User folgendes Phänomen erklären kann:

Szenario 1:

Code der Datei /upload/index.php
PHP-Code:
/**********************************************************
if (!isset($_SESSION['meinevar']))
  {
    header("Location: http://meineDomäne/shop/index.php");
  }
  else
  {
************************************************************/
    
Hier steht der eigentliche Code der /upload/index.php
  
//} 
Code der Datei /upload/view.php
PHP-Code:
echo "<br>";
     echo 
$_SESSION['fredel_status']['fredel_status_name'];
     echo 
"<br>";
     echo 
$_SESSION['fredel_status']['fredel_status_id'];
     echo 
"<br>";
     echo 
"<br>";
if (isset(
$_SESSION['meinevar']))
   {
    echo 
$_SESSION['meinevar'];
   }
  else
    {
     echo 
"Variable meinevar nicht da";
    } 
Code der Datei /upload/test.php
PHP-Code:
if (isset($_SESSION['meinevar']))
   {
    
header("Location: http://meineDomäne/upload/index.php");
   }
  else
    {
      
header("Location: http://meineDomäne/shop/index.php");
    } 
Code der Datei /Shop/link.php
PHP-Code:
if (empty($_SESSION['meinevar'])) {
  
$_SESSION['meinevar'] = 'meinwert';
}

echo
  
'<table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td>Hallo von&nbsp;<a href="http://meineDomäne/upload/test.php" target="_new">hier</a>&nbsp;kommt man ins Datei upload Center</td>
    </tr>
  </table>'

Ich öffne im Browser folgende Dateien:

Im Tab 1: /shop/index.php
Im Tab 2: /upload/test.php
Im Tab 3: /upload/view.php
Im Tab 4: /upload/index.php

Schritt 1: Ich habe mich im Shop nicht angemeldet und erhalte folgende anzeigen:

Im Tab 1: die Startseite des Shops
Im Tab 2: die Startseite des Shops
Im Tab 3:
Code:
Gast
1
Variable meinevar nicht da
Im Tab 4 die Startseite des Upload-Scripts

Schritt 2: Ich melde mich im Shop an und erhalte folgende Anzeige nach drücken von F5 in jedem Tab:

Im Tab 1: die Startseite des Shops
Im Tab 2: die Startseite des Shops
Im Tab 3:
Code:
Kunde
2
Variable meinevar nicht da
Im Tab 4 die Startseite des Upload-Scripts

Schritt 3: Ich öffne die Seite im Shop mit dem Link zum Upload Script und bekomme folgende Anzeige nach
drücken von F5 in jedem Tab:

Im Tab 1: die Startseite des Shops
Im Tab 2: die Startseite des Upload-Scripts
Im Tab 3:
Code:
Kunde
2
meinwert
Im Tab 4 die Startseite des Upload-Scripts

Schritt 4: Ich klicke auf den Link im Shop und in einem neuen Tab öffnet sich die Startseite des
Upload-Scripts ansonnsten zeigen die Tabs das gleiche wie in Schritt 3

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

Szenario 2:

Code der Datei /upload/index.php
PHP-Code:

if (!isset($_SESSION['meinevar']))
  {
    
header("Location: http://meineDomäne/shop/index.php");
  }
  else
  {

    
//Hier steht der eigentliche Code der /upload/index.php
  

Code der Datei /upload/view.php
PHP-Code:
echo "<br>";
     echo 
$_SESSION['fredel_status']['fredel_status_name'];
     echo 
"<br>";
     echo 
$_SESSION['fredel_status']['fredel_status_id'];
     echo 
"<br>";
     echo 
"<br>";
if (isset(
$_SESSION['meinevar']))
   {
    echo 
$_SESSION['meinevar'];
   }
  else
    {
     echo 
"Variable meinevar nicht da";
    } 
Code der Datei /upload/test.php
PHP-Code:
if (isset($_SESSION['meinevar']))
   {
    
header("Location: http://meineDomäne/upload/index.php");
   }
  else
    {
      
header("Location: http://meineDomäne/shop/index.php");
    } 
Code der Datei /Shop/link.php
PHP-Code:
if (empty($_SESSION['meinevar'])) {
  
$_SESSION['meinevar'] = 'meinwert';
}

echo
  
'<table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td>Hallo von&nbsp;<a href="http://meineDomäne/upload/index.php" target="_new">hier</a>&nbsp;kommt man ins Datei upload Center</td>
    </tr>
  </table>'

Ich öffne im Browser folgende Dateien:

Im Tab 1: /shop/index.php
Im Tab 2: /upload/test.php
Im Tab 3: /upload/view.php
Im Tab 4: /upload/index.php

Schritt 1: Ich habe mich im Shop nicht angemeldet und erhalte folgende anzeigen:

Im Tab 1: die Startseite des Shops
Im Tab 2: die Startseite des Shops
Im Tab 3:
Code:
Gast
1
Variable meinevar nicht da
Im Tab 4 die Startseite des Shops

Schritt 2: Ich melde mich im Shop an und erhalte folgende Anzeige nach drücken von F5 in jedem Tab:

Im Tab 1: die Startseite des Shops
Im Tab 2: die Startseite des Shops
Im Tab 3:
Code:
Kunde
2
Variable meinevar nicht da
Im Tab 4 die Startseite des Shops

Schritt 3: Ich öffne die Seite im Shop mit dem Link zum Upload Script und bekomme folgende Anzeige nach
drücken von F5 in jedem Tab:

Im Tab 1: die Startseite des Shops
Im Tab 2: die Startseite des Upload-Scripts
Im Tab 3:
Code:
Kunde
2
meinwert
Im Tab 4 die Startseite des Shops

Schritt 4: Ich klicke auf den Link im Shop und in einem neuen Tab öffnet sich die Startseite des
Shops ansonnsten zeigen die Tabs das gleiche wie in Schritt 3

Was läuft da falsch und wo mache ich einen Fehler??

Endschuldigt bitte das ich so viele Fragen habe bin halt noch PHP-Newbie

Danke für eure Antwort
__________________

Verständnis heißt:

Die Situation, den Standpunkt und den Blickwinkel des anderen zu akzeptieren.

Geändert von AnNo1968 (05-03-2008 um 19:55 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:46 Uhr.