Stylesheet wird nicht importiert

Django, Flask, Bottle, WSGI, CGI…
Antworten
maxedollmann
User
Beiträge: 9
Registriert: Mittwoch 11. Januar 2017, 14:09

Hallo,
ich habe ein kleines Script was Formulardaten ausliest und diese dann auf einer kleinen Website anzeigen soll...
Die Website hatte ich schon fertig und habe sie dann nur noch in Python eingefügt...
Dort habe ich auch ein Stylesheet importiert...
Leider klappt das ganze in Python nicht mehr...
Könnt ihr mir sagen wie ich das richtig mache?

LG Maxim
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

um zu sehen, was du vielleicht falsch machst, solltest du uns erstmal zeigen, was du machst. Sprich: zeige bitte mal den Code, den du hast.

Gruß, noisefloor
maxedollmann
User
Beiträge: 9
Registriert: Mittwoch 11. Januar 2017, 14:09

Hallo, leider ist der originalcode auf einem Raspberry pi von dem ich den nicht ohne weiteres runter bekomme...

aber ich versuchs abzuschreiben....

Code: Alles auswählen

print "Content-type text/html"
print

print """
	<link rel="stylesheet" type="text/css" href="/var/www/stylesheet.css">

	""" 
ist natürlich noch mehr drumherum aber es geht ja darum....
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Hallo, leider ist der originalcode auf einem Raspberry pi von dem ich den nicht ohne weiteres runter bekomme...
Kein Zugang per SSH?

Egal. Das Codeschnipsel lässt vermuten, dass du deine Webanwendung per CGI ausliefert wird. Kann man machen, ist aber schon laaaaaaaaaange nicht mehr Stand der Dinge. De-facto Standard bei Python ist WSGI und der Einsatz einen WSGI-Frameworks wie Bottle oder Flask. Oder Django. Macht vieles einfache und komfortabler.

Die Webseite wird aber richtig angezeigt? Wenn ja, dann öffne diese im Browser, öffne die Quelltextansicht und klick auf den Link des Stylesheets. Welchen Fehler bekommst du dann? Alternativ kannst du auch in der Entwicklertools deines Browser schauen. Da sollte auch zu sehen sein, was warum bei der Seite nicht geladen wird.

Außerdem wäre der _komplette_ Code gut. Genau so, wie es gut wäre zu Wissen, wie du die Seite auslieferst (Apache, nginx, ...).

Gruß, noisefloor
BlackJack

@maxedollmann: Du gibst da als href anscheinend den Pfad auf dem Server an, da muss aber der Pfad hin unter dem der Server das Stylesheet ausliefert. Wenn das den Pfaden auf dem Server entspräche könnte ja jeder Angreifer einfach alle Deine Daten über den Browser abfragen, in /etc/, in Deinem Heimatverzeichnis, …

Welchen Webserver verwendest Du? Wie sind dort die Pfade konfiguriert? Apache? Ist `/var/www/` als DocumentRoot konfiguriert?

So wie es im Programm steht müsste das Stylesheet jedenfalls unter der URL ``http://domain_or_ip/var/www/stylesheet.css`` abrufbar sein damit das funktioniert. Und das ist es offensichtlich nicht.
maxedollmann
User
Beiträge: 9
Registriert: Mittwoch 11. Januar 2017, 14:09

Hm aber dann müsste ja der Aufruf über einfach Stylesheet.css klappen...

Macht es aber nicht

Kann das daran liegen das das Python Script in nem anderen Verzeichnis liegt?

Also

/usr/lib/cgi-bin/take.py
/var/www/stylesheet.css
BlackJack

@maxedollmann: Was passiert denn wenn Du die URL für das Stylesheet direkt im Browser eingibst? Also ``http://name_or_ip/stylesheet.css``. Zeigt der Browser das Stylesheet an? Eine Fehlermeldung? Wenn ja welche? Was steht im Serverfehlerprotokoll?
maxedollmann
User
Beiträge: 9
Registriert: Mittwoch 11. Januar 2017, 14:09

Also wenn ich direkt das Stylesheet aufrufe wird es als einfacher text angezeigt...
Wenn ich unter Elemt untersuchen auf den Link gehe wird mir ein 500 Internal Error angezeigt...
Zusammen mit dem netten hinweis ich solle mich doch an meinen Webmaster wenden :)
maxedollmann
User
Beiträge: 9
Registriert: Mittwoch 11. Januar 2017, 14:09

OMG ES FUNKTIONIERT

ich habe einfach ein / vor das Stylesheet gesetzt..

Aber trotzdem danke für alle die sich hier bemüht haben!

LG Maxim
BlackJack

@maxedollmann: Der Hinweis beim 500 Internal Error sollte Deinen Webmaster, also Dich selbst, dann dazu bringen auf dem Server im Fehlerprotokoll des Webservers nachzusehen woran es konkret liegt. Denn auf der Webseite nach aussen werden üblicherweise keine Details zum Fehler angegeben weil Angreifer dann Informationen in die Finger bekommen können, die man lieber nicht preisgeben möchte. :-)
Antworten