php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.03.2009, 11:32  
Erfahrener Benutzer
 
Benutzerbild von Ind3X
 
Registriert seit: 16.06.2008
Beiträge: 176
Ind3X befindet sich auf einem aufstrebenden Ast
Standard Datei muss von anderer Datei aufgerufen werden?

Guten Tag,

ich habe mal eine Frage zu dem include-Befehl.
Wie kann ich es realisieren, dass eine Datei nur dann funktioniert, wenn sie von einer anderen included wird? Konkreter:

Ich habe ein Login gemacht:

Auszug:
PHP-Code:
if ($pw $thisuser[0])
{
    include 
"usercenter.php";

In der Datei usercenter.php sind Funktionen wie Passwort ändern, etc.
Wie überprüfe ich nun ob die Datei "usercenter.php" von der "index.php" nach (erfolgreichen) Passwortüberprüfung included wurde, und nicht direkt per Browser aufgerufen wurde? Denn nur dann sollte sie logischerweiße funktionieren, ansonsten muss ein fehler kommen...

Hoffe es ist klar geworden was ich meine, und jemand hat ein Ansatz oder ein Snippet für mich, der diesen Zweck erfüllt ^^

mfg Ind3X
Ind3X ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 21.03.2009, 11:59  
PTC
Erfahrener Benutzer
 
Benutzerbild von PTC
 
Registriert seit: 27.10.2007
Beiträge: 1.708
PHP-Kenntnisse:
Anfänger
PTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nett
Standard

Eine Möglichkeit könnte sein, dass das hinzugefügte Skript die $_SERVER-Variablen des übergeordneten Skripts hat. Somit köntest du die Variablen von dem includierendem Skript im includierten Skript prüfen.

Dies ist aber nur eine Vermutung, einfach mal ausprobieren.

Zitat:
Zitat von Ind3X Beitrag anzeigen
[...] jemand hat ein Ansatz oder ein Snippet für mich, der diesen Zweck erfüllt
Forenregeln nicht vergessen, wir werden hier nicht deinen Code schreiben.
PTC ist offline  
Alt 21.03.2009, 12:10  
Erfahrener Benutzer
 
Benutzerbild von Ind3X
 
Registriert seit: 16.06.2008
Beiträge: 176
Ind3X befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von PTC Beitrag anzeigen
Eine Möglichkeit könnte sein, dass das hinzugefügte Skript die $_SERVER-Variablen des übergeordneten Skripts hat. Somit köntest du die Variablen von dem includierendem Skript im includierten Skript prüfen.

Dies ist aber nur eine Vermutung, einfach mal ausprobieren.


Forenregeln nicht vergessen, wir werden hier nicht deinen Code schreiben.
Danke für die Idee, daran hab ich noch garnicht gedacht.
Ich will keinen Code, ein Ansatz reicht schon, nur manche können sich in Code besser ausdrücken als in Worten, das hab ich schon oft erlebt ^^

mfg Ind3X
Ind3X ist offline  
Alt 21.03.2009, 12:53  
Erfahrener Benutzer
 
Benutzerbild von Ind3X
 
Registriert seit: 16.06.2008
Beiträge: 176
Ind3X befindet sich auf einem aufstrebenden Ast
Standard

Ich habe es nun so gelöst:

Die Datei wird nichtmehr included, sondern aufgerufen per:
PHP-Code:
    echo '<meta http-equiv="refresh" content="5;URL=usercenter.php?secure=1">'
Testversion der usercenter.php:
PHP-Code:
if ($_GET['secure'] != 1)
{
    echo 
"Hacking atempt!";
}
else
{
    echo 
"Alright!";

Das funktioniert, aber ist nicht gerade sicher, oder?
Ob die Übergabe der $_SERVER Variable funktioniert konnte ich aus dem schlichten Grund nicht testen, weil ich keine Ahnung habe wie diese modifiziert werden (in der index.php), die Überprüfung würde ich hinbekommen...

Geändert von Ind3X (21.03.2009 um 13:00 Uhr).
Ind3X ist offline  
Alt 21.03.2009, 13:10  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

die lösung mit meta-refresh ist doch nicht das gleiche wie ein include!?!!

was meinst du mit, wie diese modiziert werden? lass dir doch mal mit print_r($_SERVER) alle daten ausgeben. vielleicht findest du dann was du suchst!
Asipak ist offline  
Alt 21.03.2009, 13:12  
PTC
Erfahrener Benutzer
 
Benutzerbild von PTC
 
Registriert seit: 27.10.2007
Beiträge: 1.708
PHP-Kenntnisse:
Anfänger
PTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nett
Standard

Könntest du mir erklären, was es sich auf sich hat mit dem Parameter secure=1 ?
$_SERVER-Variablen sind auch manipulierbar, was erheblich die Sicherheit mindert.
PTC ist offline  
Alt 21.03.2009, 13:25  
Erfahrener Benutzer
 
Benutzerbild von Ind3X
 
Registriert seit: 16.06.2008
Beiträge: 176
Ind3X befindet sich auf einem aufstrebenden Ast
Standard

Erstens: Ich kenn den Unterschied zwischen include und meta-refresh, in meinem Falle kann man beides verwenden.

Zweitens: der Parameter secue soll angeben das die Seite vom Skript vorher aufgerufen wurde, was allerdings ziemlich unsicher ist, da es ja eigentlich jeder hinscheiben kann...

Drittens: $_SERVER Variablen sind doch vom Server (also meinem Webspace) festgelegt, oder? Wie kann ich die ändern? Und ist es überhaupt sinnvoll / sicher? Gibt es nicht eine konfortable Möglichkeit wie ich das lösen kann?

Per Cookie vllt? o.O Ich hab in Richtung Sicherheitstechnik in PHP noch net so arg viel Ahnung...

mfg Ind3X

EDIT: Habs jetzt so gelöst:

PHP-Code:
<?php
$ref1 
"http://localhost/test/ind3x_user_abfrage/usercenter/index.php";
$ref2 "http://localhost/test/ind3x_user_abfrage/usercenter/";

if (
$_SERVER['HTTP_REFERER'] == $ref1 || $_SERVER['HTTP_REFERER'] == $ref2 )
{
    echo 
"Willkommen im Usercenter!";
}
else
{
    echo 
"Wrong REFERER, please login!";
}
?>
Funktioniert, und sollte sicher sein...

mfg Ind3X

Geändert von Ind3X (21.03.2009 um 13:42 Uhr).
Ind3X ist offline  
Alt 21.03.2009, 13:41  
Neuer Benutzer
 
Benutzerbild von Gödda
 
Registriert seit: 16.02.2009
Beiträge: 9
Gödda befindet sich auf einem aufstrebenden Ast
Standard

Wenn es sich um einen Login-Bereich handelt solltest du evtl mit Session´s arbeiten, wenn du das nicht schon machst.
__________________
Es gibt nur 10 Arten von Menschen - Die, die Dualzahlen verstehen, und die, die sie nicht verstehen ...
Gödda ist offline  
Alt 21.03.2009, 13:49  
Erfahrener Benutzer
 
Benutzerbild von Ind3X
 
Registriert seit: 16.06.2008
Beiträge: 176
Ind3X befindet sich auf einem aufstrebenden Ast
Standard

Es ist nichts bestimmtes, ja ein Loginbereich wohl irgendwie, aber ich will einfach lernen, und das tut man eben am besten in dem man es einfach macht ^^ Ja Sessions werde ich auch einbauen... Wahrscheinlich... irgendwann xD
Ind3X ist offline  
Alt 21.03.2009, 13:50  
Erfahrener Benutzer
 
Registriert seit: 04.12.2008
Beiträge: 132
agundur befindet sich auf einem aufstrebenden Ast
agundur eine Nachricht über Skype™ schicken
Standard

PHP-Code:
if ($pw $thisuser[0])
{
    
define ('sincluded''true');
    include 
"usercenter.php";

usercenter.php:
PHP-Code:
if (!defined('sincluded'))
    die(
'Access denied'); 
__________________
AFFE ist nur im Dezimalsystem ein Palindrom.
agundur ist offline  
 


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
[Erledigt] Hochgeladene Datei wird doppelt abgelegt thecracked PHP Tipps 2008 3 01.07.2008 16:31
PHP Umleitung Prüfung in anderer Datei PhP_Chris PHP Tipps 2008 3 13.06.2008 19:08
Großer Baum -> Große Datei -> Hohe Ladezeit :( PsychoEagle PHP Tipps 2008 7 22.09.2007 12:44
.gz Datei entpacken und mit dem Inhalt weiterarbeiten R4v3r PHP Tipps 2007 8 02.02.2007 14:49
String als Datei speichern Zangelo PHP Tipps 2006 23 25.08.2006 14:13
Datei durchsuchen Wöllchen Beitragsarchiv 3 02.03.2006 22:23
[Erledigt] Datei mit &amp;amp;amp;amp;quot;w&amp;amp;amp;amp;quot; schreiben -&amp;amp;amp;amp;gt PHP-Fortgeschrittene 17 30.12.2005 13:58
Datei auf FTP-Server ändern ohne lokal abzuspeichern faux PHP-Fortgeschrittene 11 02.09.2005 11:54
Apache hat antipathie gegen eine Datei -> Segfault Server, Hosting und Workstations 1 06.03.2005 22:17
xfdf Datei mit PHP an eMail senden Problem: Leere Datei PHP Tipps 2004-2 1 07.12.2004 12:25
Kann man ein Formular an die eine oder andere Datei weiterge d-81 PHP Tipps 2004-2 7 03.12.2004 17:06
[Erledigt] datei editieren PHP Tipps 2004 1 10.09.2004 20:33
Datei wird nicht aufgerufen if ($num==1)downloadhaendler.php PHP Tipps 2004 3 26.08.2004 08:50
(ich schonwieder) Link seite automatisch imported_DJ Nuno PHP Tipps 2004 14 19.08.2004 17:42
Wie kann ich eine PHP Datei in eine HTML Datei umwandeln PHP Tipps 2004 2 12.08.2004 18:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php code aus anderer datei, php von wo wurde diese datei aufgerufen

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:30 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