php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.01.2012, 09:54  
Erfahrener Benutzer
 
Benutzerbild von jspit
 
Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse:
Anfänger
jspit wird schon bald berühmt werden
Standard [Erledigt] PHP Scriptausführung nur vom localhost zulassen

Ich habe ein PHP script für Test- und Debuggigzwecke mit sehr weitreichenden Rechten, das unter XAMPP im localen Intranet eingesetzt wird. Unbefugte Nutzung blocke ich wie folgt ab:
PHP-Code:
  if($_SERVER["REMOTE_ADDR"] != $_SERVER["SERVER_ADDR"]) {echo "<br>keine Berechtigung<br>"; exit();} 
Funktioniert erstmal. Meine Frage hierzu: Ist das auch sicher genug ?

LG jspit
jspit ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.01.2012, 10:09  
Erfahrener Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 606
Connar befindet sich auf einem aufstrebenden Ast
Standard

Du könntest es auch über die .htaccess oder über die config vom Apache steuern, indem du dort nur die lokale IP zulässt. Das ermöglicht dir auch, ein paar mehr hinzuzufügen, statt nur der exakt gleichen.
So wie ich das hier sehe würde nämlich nur die exakt gleiche IP zugelassen werden und nicht eine komplette Range von IPs, wie du es in einem Intranet normalerweise hast.


MFG Connar
Connar ist offline   Mit Zitat antworten
Alt 19.01.2012, 13:37  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Der $_SERVER-Array kommt vom User und ist von diesem manipulierbar. Man kann sich prinzipiell nicht darauf verlassen, dass z.B. die behauptete IP oder der behauptete Referrer den Tatsachen entsprechen.
Mir ist jetzt allerdings auch nicht bekannt, wie man sich aus dem Internet durch den Router ins Intranet wühlen könnte.
Wenn das Ganze so sicherheitskritisch ist, dann vergib doch für jeden berechtigten User eine User/Passwort-Kombination.
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Alt 19.01.2012, 16:05  
Erfahrener Benutzer
 
Benutzerbild von jspit
 
Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse:
Anfänger
jspit wird schon bald berühmt werden
Standard

Danke für die Hinweise. Da dies meine alleinige Testumgebung ist, gibt es erstmal keine weiteren berechtigten User. Hab mal ein wenig mit .htaccess probiert und bin zu folgender einfachen Lösung gekommen:
PHP-Code:
<Files meinscript.php>
order deny,allow
deny from all
allow from 127.0.0.1
</Files
Bin dabei in eine böse Falle getappt, die Zeilen waren in der .htaccess nur mit CR abgeschlossen. Da kamen die unsinnigsten Fehler im log.
jspit ist offline   Mit Zitat antworten
Alt 19.01.2012, 19:32  
WilkeDevelop
Gast
 
Beiträge: n/a
Standard

um es noch sicherer zu machen, kannst du noch ne .htpasswd setzen
  Mit Zitat antworten
Alt 19.01.2012, 19:38  
meikel
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von WilkeDevelop Beitrag anzeigen
um es noch sicherer zu machen, kannst du noch ne .htpasswd setzen
EDIT: das ist dann falsch
[killen]Das würde dann die Ausführung zielsicher verhindern...[/killen]
wenn der Aufruf nicht via HTTP erfolgt.

Geändert von meikel (19.01.2012 um 20:09 Uhr).
  Mit Zitat antworten
Alt 19.01.2012, 20:00  
WilkeDevelop
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von meikel Beitrag anzeigen
Das würde dann die Ausführung zielsicher verhindern...
äh?
  Mit Zitat antworten
Alt 19.01.2012, 20:07  
meikel
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von WilkeDevelop Beitrag anzeigen
äh?
Siehe EDIT.
  Mit Zitat antworten
Alt 19.01.2012, 21:13  
Erfahrener Benutzer
 
Registriert seit: 10.01.2010
Beiträge: 386
PHP-Kenntnisse:
Fortgeschritten
ChrisvA befindet sich auf einem aufstrebenden Ast
Standard

Wieso ist das Skript überhaupt global verfügbar?
Setze doch den Documentroot Lokal eine Ebene höher (z.B. mit einem 2. Port, der durch die Firewall von außen dicht ist) und sperre so alles von außerhalb aus.
Bei einem richtig eingestellten Router kann sowieso keine von außen auf einen anderen Port zugreifen und so das Skript erreichen.
ChrisvA ist offline   Mit Zitat antworten
Alt 19.01.2012, 21:20  
hts
Erfahrener Benutzer
 
Registriert seit: 07.09.2010
Beiträge: 722
PHP-Kenntnisse:
Fortgeschritten
hts befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von meikel Beitrag anzeigen
EDIT: das ist dann falsch
[killen]Das würde dann die Ausführung zielsicher verhindern...[/killen]
wenn der Aufruf nicht via HTTP erfolgt.
Selbst mit killed-BBC wird es nicht verständlicher: Wie sonst sollte man ein PHP-Script von außerhalb aufrufen, wenn nicht über HTTP?
hts 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
Mails über localhost senden: SMTP-Fehler? Pascalh PHP Einsteiger 2 21.01.2011 13:22
[Erledigt] enis.de ist lokale Weiterleitung auf localhost?! Lollix Off-Topic Diskussionen 2 30.12.2010 10:55
mod_rewirte Ordnerproblem (localhost) go1denboy Server, Hosting und Workstations 1 17.09.2009 14:36
[Erledigt] localhost doppelt belegt Mikay Kun Server, Hosting und Workstations 2 28.03.2009 23:49
MySQLDump auf localhost: leere Datei delphicreator Datenbanken 2 24.08.2008 10:24
localhost mit name virtual host problem?? c01001 Server, Hosting und Workstations 3 01.04.2006 11:07
Mysql startet nicht mehr ??? Hilfe ??? c01001 Datenbanken 12 25.01.2006 00:10
xampp -> alles an localhost will nicht notyyy PHP Tipps 2005-2 2 14.10.2005 17:03
ASP als localhost JanM Off-Topic Diskussionen 3 11.10.2005 20:14
Timed out read from localhost bei PEAR::SOAP-Kommunikation Elmo2k PHP-Fortgeschrittene 3 30.08.2005 13:07
Imagemagick auf dem localhost einrichten.... 18inch PHP Tipps 2005-2 1 28.06.2005 10:55
localhost / Variabeln in header() RoDa PHP Tipps 2005 11 02.05.2005 14:37
ftp FUnktionen auf dem localhost??? 18inch PHP Tipps 2005 12 16.04.2005 20:36
Cookie / localhost / Problem gelöst PHP-Fortgeschrittene 11 02.11.2004 22:41

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
.htaccess nur localhost, xampp nur localhost zulassen, xamp skripe nur für localhost zulassen, php scrtipt nur von localhost erlauebn, htaccess localhost erlauben

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