php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.05.2008, 17:01  
Erfahrener Benutzer
 
Registriert seit: 10.02.2004
Beiträge: 132
Pimbolie1979
Standard Ausführung von PHP-Scripten verhindern

Hallo @ all

Ich möchte verhindern, dass Unbefugte PHP-Scripte auf meinem Webserver ausführen.

Zum Beispiel habe ich eine Php-Datei in einem Ordner, die den Account des Benutzers löscht. Jetzt möchte ich verhindern, das der Benutzer einfach den Pfad der PHP-Datei in die Browseradresse eingibt und somit das Script ausgeführt wird.

Für die Verwaltung meines Webservers steht mir Confixx zur Verfügung. Dort gibt es auch einen Punkt in dem ich Ordner mit einem Passwort schützen kann. Jedoch kann ich danach immer nocht die Scripte ausführen. Ich bin der Meinung das ich durch den Ordnerschutz unter Confixx auf die .htacces Date zugreife.

Was mache ich falsch oder wie kann man es besser machen?
__________________
www.Gastgeber-Deutschland.de
Pimbolie1979 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 17.05.2008, 17:21  
Benutzer
 
Registriert seit: 29.04.2008
Beiträge: 33
myPages
Standard

Also wenn ich mich nicht stark irre, kann man per htpassword & htaccess auch einen Passwortschutz generieren, sodass kein Unbefugter auf die Dateien zugreifen kann. Die beiden Dateien sollten dann natürlich im Ordner, wo das PHP-Script liegt, liegen.

Ansonsten könnte man auch über einen Schutz in der PHP-Datei selber nachdenken - Loginsystem mäßig, also Sessions, etc.

MfG
myPages
__________________
Man braucht drei Dinge im Leben
die Gelassenheit die Dinge hinzunehmen, die man nicht ändern kann,
den Mut die Sachen zu verändern, die man ändern kann,
und die Weisheit zwischen den beiden zu unterscheiden.
myPages ist offline  
Alt 17.05.2008, 17:27  
Benutzer
 
Registriert seit: 11.05.2008
Beiträge: 71
PHP-Kenntnisse:
Fortgeschritten
prestige
prestige eine Nachricht über ICQ schicken
Standard

Zitat:
Jetzt möchte ich verhindern, das der Benutzer einfach den Pfad der PHP-Datei in die Browseradresse eingibt und somit das Script ausgeführt wird.
Das es die Url eingibt kannst du nicht verhindern.

Aber...
Ich würde es so machen, dass du bei deinem script (PHP-datei) eine überprüfung anstellst (wenn du das noch nicht hast). Woher soll der Computer denn wissen, wen er löschen soll? Wenn er das nicht weis bzw. wenn du ihm keinen Auftrag gibst löscht er niemanden.

Aber wenn du ein Formular machst kannst du überprüfen, ob der User, der sich löschen will auch wirklich der richtige ist.

Leider bin ich auch noch daran an meinem Löschscript zu arbeiten.
Du kannst ja mal das Posting :
" Account --> löschen" durchlesen dort habe ich meine Fragen gepostet.

*Ausserdem wird es nicht nötig sein die Dateien noch extra zu sichern, wenn du einen sauberen Code hast.
Wie gesagt schau mal bei meinem Posting.

Viel Glück :wink:

Mfg
__________________
Genau das wollte ich auch gerade sagen ^^
prestige ist offline  
Alt 17.05.2008, 17:50  
Erfahrener Benutzer
 
Registriert seit: 10.02.2004
Beiträge: 132
Pimbolie1979
Standard

Das mit dem Löschen war nur ein Beispiel. Ich möchte halt nur das die Php-Scripte ausgeführt werden, wenn diese aus den dazugehörigen HTML-Seiten aufgerufen werden (include)

Wenn ich in Confixx einen Ordner mit einem Passwort versehe, dann sollte er doch automatisch eine .htacces Datei erzeugen. Aber irgendwie funktioniert es nicht
__________________
www.Gastgeber-Deutschland.de
Pimbolie1979 ist offline  
Alt 17.05.2008, 18:56  
Benutzer
 
Registriert seit: 11.05.2008
Beiträge: 71
PHP-Kenntnisse:
Fortgeschritten
prestige
prestige eine Nachricht über ICQ schicken
Standard

Zitat:
Ich möchte halt nur das die Php-Scripte ausgeführt werden, wenn diese aus den dazugehörigen HTML-Seiten aufgerufen werden (include)
-->Eben, mach das mit einer Schleife.

Wenn du nicht möchtest, dass man einfach so PHP datei sieht, dann würde ich mal bei dieser Datei oben diese Überprüfung einsetzen :


PHP-Code:
<?php

//$check von der HTML- Datei holen
$check =($_POST["check"]);

//Wenn die Variable "check" gleich 1 ist...
if ($check == 1
{
 
// Dein Code der ausgeführt werden soll.
}
else
{
header ("Location : deineseite.html");
}
Dann musst du natürlich noch bei "deinseite.html" eine kleine Anpassung
vornehmen.

PHP-Code:
<?php
... //Blablabla

//Um den Wert von der Variablen "check" zu erhalten kannst du ein Formular erstellen

<form action="deinePHPseite.php" method="post">
<
table border="0">

<
tr>
  <
td><input type="hidden" value="1" name="check"></td>
  <
td align="left"><input type="submit" value="Los!"></td>
</
tr>
</
table>
</
form>
Durch diese Änderung kann niemand mehr direkt deinen script abrufen. Der User wird dann auf eine andere Seite (kannst ja auswählen welche) umgeleitet. Er muss erst den "Los!" Button drücken um dein Script auszuführen.

Hoffe konnte helfen

Mfg :wink:
__________________
Genau das wollte ich auch gerade sagen ^^
prestige ist offline  
Alt 17.05.2008, 19:45  
Erfahrener Benutzer
 
Registriert seit: 10.02.2004
Beiträge: 132
Pimbolie1979
Standard

Das ist nartülich eine Lösung. Jedoch gefällt mir die Variante mit den versteckten Eingabefeldern nicht so.

Kann ich beim Include Befehl nicht einen Übergabeparameter vergeben, den ich dann im Php-Script abfrage?
__________________
www.Gastgeber-Deutschland.de
Pimbolie1979 ist offline  
Alt 17.05.2008, 19:47  
Benutzer
 
Registriert seit: 18.05.2008
Beiträge: 41
MrZYX befindet sich auf einem aufstrebenden Ast
MrZYX eine Nachricht über ICQ schicken MrZYX eine Nachricht über AIM schicken MrZYX eine Nachricht über MSN schicken MrZYX eine Nachricht über Yahoo! schicken MrZYX eine Nachricht über Skype™ schicken
Standard

Wenn ich dich richtig verstanden hab sollte folgendes funktionieren:
index.php
PHP-Code:
<?php
define
('INC'true);
include 
"inc.php";
?>
inc.php
PHP-Code:
<?php
if (!is_defined("INC")) die("Seite darf nicht direkt aufgerufen werden!");
//code
?>
__________________
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher. - Albert Einstein
MrZYX ist offline  
Alt 18.05.2008, 11:15  
Erfahrener Benutzer
 
Registriert seit: 10.02.2004
Beiträge: 132
Pimbolie1979
Standard

Diese Lösung gefällt mir schon besser. Einfach eine Variable definieren und im Php-Script abfragen. Werde diese heute Abend gleich mal ausprobieren.

Kann maan diese Methode eigentlich umgehen indem der User die Variable selber über die Adresszeile des Brwosers setzt?

www.testseite/inc.php?inc=true
__________________
www.Gastgeber-Deutschland.de
Pimbolie1979 ist offline  
Alt 18.05.2008, 11:22  
Benutzer
 
Registriert seit: 18.05.2008
Beiträge: 41
MrZYX befindet sich auf einem aufstrebenden Ast
MrZYX eine Nachricht über ICQ schicken MrZYX eine Nachricht über AIM schicken MrZYX eine Nachricht über MSN schicken MrZYX eine Nachricht über Yahoo! schicken MrZYX eine Nachricht über Skype™ schicken
Standard

Darum nehm ich ja eine Konstante. Die ist per Definition nur einmal definierbar. Bei Variablen hast du zum einen das Problem das sie bei aktivem register_globals vom user verändert werden können und das man sie aussereversehen selbst verändert, setzt wo sie nicht gesetzt werden soll. Also einfach so wie ich eine Konstante nehmen
http://de.php.net/manual/de/language.constants.php
__________________
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher. - Albert Einstein
MrZYX ist offline  
Alt 18.05.2008, 11:47  
Erfahrener Benutzer
 
Registriert seit: 10.02.2004
Beiträge: 132
Pimbolie1979
Standard

Vielen Dank für diesen Tip
__________________
www.Gastgeber-Deutschland.de
Pimbolie1979 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] Leerzeilen in Gästebuch verhindern Czily PHP Tipps 2008 33 25.05.2008 23:17
Probleme beim Uploaden von PHP Scripten ProduZa PHP Tipps 2008 1 03.04.2008 17:22
__set() verhindern das erzeugen einer neuen Variablen shocky PHP Tipps 2006 18 30.10.2006 14:35
Eigene Datenbankerstellung verhindern? iRadiaX Datenbanken 13 17.04.2006 09:53
Zeilenumbruch in Tabelle verhindern patr1k HTML, Usability und Barrierefreiheit 3 22.12.2005 11:24
Externes Downloaden verhindern, aber streaming erlauben... Server, Hosting und Workstations 1 27.11.2005 11:39
Speichern von Text und Bildern verhindern PHP Tipps 2005-2 6 26.08.2005 19:13
mehrfaches absenden von Formular verhindern nieselfriem PHP Tipps 2005-2 1 24.08.2005 13:50
Verhindern von aktualisieren PHP Tipps 2005-2 7 22.06.2005 23:39
Doppelten Upload verhindern. BastianX75 PHP Tipps 2005 5 17.02.2005 11:51
[Erledigt] html im Formular verhindern? PHP Tipps 2005 6 16.02.2005 18:00
download von file verhindern Schiedsrichter PHP Tipps 2004 1 15.09.2004 11:39
verhindern HTML, Usability und Barrierefreiheit 7 08.07.2004 15:53
doppel einträge in db verhindern? themonk PHP Tipps 2004 2 03.07.2004 14:26
[Erledigt] von Frames auf &lt;div&gt;, probleme mit den alten Scripten. PHP Tipps 2004 6 01.06.2004 17:23

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php ausführung verhindern, htaccess php ausführung verhindern, php ausführen verhindern, php ausführung unterbinden, htaccess ausführen verhindern, ausführen von php dateien verhindern, http://www.php.de/php-tipps-2008/45919-ausfuehrung-von-php-scripten-verhindern.html, php upload verhindern, script ausführung verhindern, php script direkte ausführung verhindern, upload von php dateien verhindern, verhindern dass php skript über adresszeile ausgeführt wird, ausführung von php verhindern, php ausführung in verzeichnis verhindern, php script ausführung verhindern, php include ausführung verhindern, script ausführen verhindern, php include verbieten, htaccess script ausführung unterbinden, htaccess php ausführen verbieten

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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.