HTTP/500 mit Win/Linux PHP-Skripten

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von sDJh, 13.04.2008.

  1. sDJh

    sDJh Thread Starter Mitglied

    Beiträge:
    9
    Zustimmungen:
    0
    Mitglied seit:
    21.12.2007
    Hallo zusammen,

    ich habe soeben Xampp für meinen neuen Mac eingerichtet und meine alten projekte darauf gezogen. Seltsamerweise laufen die mitgelieferten Skripte (Xampp, phpMyAdmin, etc) einwandfrei. Auch wenn ich neue Datein anlege, funktionieren diese. Nur bei meinen alten Projkete von Win und Linux erhalte ich HTTP/500. Im Internet finde ich nichts (oder wenn, dann nichts aussagekräftiges für jemanden, der das erste Mal auf einem Mac arbeitet).

    Folgender Fehler wird ausgegeben:

    Code:
    Internal Server Error
    
    The server encountered an internal error or misconfiguration and was unable to complete your request.
    
    Please contact the server administrator, you@example.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
    
    More information about this error may be available in the server error log.
    Kann das an den unterschiedlichen Absatzen liegen (Win: CRLF, Linux: LF, Mac: CR)? Oder haben die Verzeichnisse falsche Zugriffsrechte?

    Gerne schicke ich euch auch die error-logs. Kann nur etwas dauern ich muss erstmal die Verzeichnisstrukturen kennen lernen.



    Dann noch ganz kurz: Xampp sagt mir, dass der Server unsicher ist und gibt einen Befehl an, mit dem man die Lücken beheben kann. Der funktioniert aber auch nicht. Was kann man da machen?

    Gruß und schonmal Danke
    Simon
     
  2. wegus

    wegus Mitglied

    Beiträge:
    15.824
    Zustimmungen:
    2.423
    Mitglied seit:
    13.09.2004
    ja kann es!

    dann dürfte es eigentlich konkretere Angaben geben, es wäre doch aber ein Leichtes die Rechte mal kurz zu prüfen oder?

    Deine Beschreibung präzisieren :) So steht da:" ich kenn jemanden der soll krank sein, hab ihm ne Tablette gegeben, half nix. Was tun?". Ein bißchen präziser darfs schon sein!
     
  3. sDJh

    sDJh Thread Starter Mitglied

    Beiträge:
    9
    Zustimmungen:
    0
    Mitglied seit:
    21.12.2007
    zu a) wie kann man die Absätze am einfachsten ändern, ohne jede einzelne Datei mit dem TExteditor zu öffnen und*neu zu speichern?

    b) In der GUI sind die gleich. Aber evtl von einem anderen Nutzer angelegt. Ein kleiner Tipp wäre für einen Umsteiger schon hilfreich. Man meckert sonst immer über die dummen Windows- und die altklugen Linux-Nutzer und wechselt man die Front wird man angeraunzt nach dem Motto "selbst Schuld. Wärst du seid der MacOS Version 1.0 dabei, könntest das jetzt selbst".

    c)
    Code:
    XAMPP-Sicherheit
    Anhand dieser Übersicht kann man sehen welche Punkte an der XAMPP-Installation noch unsicher sind und noch überprüft werden müssten. (Bitte unter der Tabelle weiterlesen.)
    	
    Betreff	
    Status	
    
    	Diese XAMPP-Seiten sind über's Netzwerk erreichbar	 UNSICHER 	 
    	Alles was Du hier sehen kannst (diese Seiten, dieser Text), kann potentiell auch jedere andere sehren, der Deinen Rechner über's Netzwerk erreichen kann. Wenn Du zum Beispiel mit diesem Rechner ins Internet geht, dann kann jeder im Internet, der Deine IP-Adresse kennt oder rät auf diese Seiten zugreifen.
    		
    
    	MySQL ist über's Netzwerk erreichbar	 UNSICHER 	 
    	Auf die MySQL-Datenbank kann potentiell über's Netzwerk zugegriffen werden. Zwar ist es in der Standardinstallation von XAMPP trotzdem nicht möglich von außen Zugriff zur Datenbank zu bekommen. Aber um eine absolute Sicherheit zu bekommen sollte der Netzwerkzugriff auf MySQL abgeschaltet werden.
    		
    
    	Der phpMyAdmin-Benutzer pma hat kein Passwort	 UNSICHER 	 
    	phpMyAdmin speichtert seine eigenen Einstellungen in der MySQL-Datenbank. phpMyAdmin benutzt dazu den MySQL-Benutzer pma. Damit sonst niemand anderes als phpMyAdmin über diesen Benutzer auf die Datenbank zugreifen kann, sollte diesem Benutzer ein Passwort gesetzt werden.
    		
    
    	MySQL-root hat kein Passwort	 UNSICHER 	 
    	Der MySQL-root hat noch kein Passwort gesetzt bekommen. Jeder Benutzer auf dem Rechner kann so auf der MySQL-Datenbank machen was er will. Der MySQL-root sollte also auf alle Fälle ein Passwort gesetzt bekommen.
    		
    
    	Das FTP-Passwort ist noch immer 'xampp'	 UNSICHER 	 
    	Wenn Du ProFTPD im XAMPP aktiviert hast, dann kannst Du standardmäßig mit dem Benutzernamen 'nobody' und dem Passwort 'xampp' Dateien für Deinen Webserver hochladen. Potentiell kann das nun natürlich jeder und daher sollte hier unbeding ein anderes Passwort gesetzt werden.
    		
    		
    
    
    Die grün markierten Punkte sind sicher; die rot marktierten Punkte sind definitiv unsicher und bei den gelb martierten Punkten konnte die Sicherheit nicht überprüft werden (zum Beispiel weil das zu testende Programm gar nicht läuft).
    
    Zum Schließen dieser Sicherheitslücken einfach als root den folgenden Befehl aufrufen:
    
    /Applications/xampp/xamppfiles/xampp security
    
    Dadurch wird ein dialoggeführtes Programm gestartet, welches alle diese Sicherheitslücken schließen kann.
     
  4. maceis

    maceis Mitglied

    Beiträge:
    16.722
    Zustimmungen:
    603
    Mitglied seit:
    24.09.2003
    Hast Du mal nachgesehen, was in den Serverlogs steht?
    Das sollte bei Probleme immer das Erste sein.
     
  5. wegus

    wegus Mitglied

    Beiträge:
    15.824
    Zustimmungen:
    2.423
    Mitglied seit:
    13.09.2004
    mit sed oder awk kann man sowas automatisieren, wenn man denn die UNIX-Shell beherrscht. Je nachdem wieviele Dateien es sind wäre es ggf. einfacher sie kurz mit einem Texteditor wie Textwrangler zu laden, die LineEndings von Win nach Mac zu konvertieren, mit "Zap Gremlins" störende Sonderzeichen zu entfernen und wieder zu speichern. Sind 2 Vorgänge je Datei und somit für kleinere Dateizahlen sicher machbar ( vor allem um erstmal zu gucken ob es das Problem löst!)
     
  6. _ebm_

    _ebm_ Mitglied

    Beiträge:
    2.076
    Zustimmungen:
    202
    Mitglied seit:
    19.01.2008
    Ein kleines perl-Skript hilft:

    Code:
    #!/usr/bin/perl -pi
    s/\r\n/\n/;
    
    Das ändert das Zeilenende von CRLF auf LF

    Ach ja und es reicht dann ein Aufruf in der Shell im entsprechenden Verzeichnis:

    Code:
    $ for i in `ls *.php`; do myscript.pl $i; done
    
     
  7. maceis

    maceis Mitglied

    Beiträge:
    16.722
    Zustimmungen:
    603
    Mitglied seit:
    24.09.2003
    Geht sogar noch einfacher ohne Skript als Einzeiler:
    Code:
    perl -pi -e 's/\r\n/\n/;' *.php
    Das Ganze im entsprechenden Verzeichnis im Terminal aufrufen.
     
  8. wegus

    wegus Mitglied

    Beiträge:
    15.824
    Zustimmungen:
    2.423
    Mitglied seit:
    13.09.2004
    das bügelt aber alle CRLF über ;)
    Im Umgang mit generierten mails aus PHP kann das ungewollt sein. Ein Versuch ist aber auch das wert ( vorher unbedingt ein Backup machen!)
     
  9. _ebm_

    _ebm_ Mitglied

    Beiträge:
    2.076
    Zustimmungen:
    202
    Mitglied seit:
    19.01.2008
    Ja, aber bei den vielen Slashes und Backslashes kann man sich auch mal verhaspeln, wenn man nicht weiss, was der String bedeutet. Darum ist es für manche sicherer, sowas in einer Datei abzulegen und dann auf einen beliebigen Satz von Dateien loszulassen ;)
     
  10. maceis

    maceis Mitglied

    Beiträge:
    16.722
    Zustimmungen:
    603
    Mitglied seit:
    24.09.2003
    Noch was: mit dem Einzeiler kann man auch automatisch Backups erstellen lassen. Sehr praktisch ;). Hier zum Beispiel mit der Endung '.bak'
    Code:
    perl -pi.bak -e 's/\r\n/\n/;' *.php
    Wenn einen die Slashes verwirren, kann man es auch anders machen, z.B. so
    Code:
    perl -pi.bak -e 's#\r\n#\n#;' *.php
    Aber natürlich geht's auch mit dem Skript gut.
     

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.