WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- .htaccess und .htpassw ganz leicht umgangen

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » .htaccess und .htpassw ganz leicht umgangen - 29 März 2024 Antworten
.htaccess und .htpassw ganz leicht umgangen
dee123
Otto-Normal-Poster
Threadstarter




Beiträge: 63

Hallo,
ich hab in einem geschützen Verzeichnis "mail" eine Datei namens mail.php liegen, mit der ich einen Newsletter an alle reg. User versende. Das Verzeichnis ist mit .htaccess und .htpasswd geschützt.
Jetzt kommt der Hammer:
Wenn ich die Datei folgendermaßen im Browser aufrufe, läuft sie einfach - ohne Passwortabfrage, wie man es von .htaccess gewohnt ist:

http://www.meineDom.de/index.php?site=mail/mail.php

mit dem Aufruf: http://www.meineDom.de/mail/mail.php kommt die normale Benutzer- und PW Abfrage.

wie kann das denn passieren ? wer kann mir helfen, daß beim o.g. Aufruf zuerst die Benutzer- un Passwd Abfrage kommt, bevor die Datei sich öffnet ?





---
Meine alte Signatur gefiel mir nicht mehr. Darum hab ich jetzt eine neue.

  Profil   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Kein "Hammer" sondern logisch und richtig. PHP arbeitet auf Ebenene des Dateisystems - der Passwortschutz ist ein Feature des Apache.

Damit läßt sich dann zB über ein PHP-Script prüfen, ob ein angemeldeter User eine Datei bekommen darf. Man wrappt den Zugriff auf eine über den Webserver nicht erreichbare/oder gesperrte Datei durch ein PHP-Script.

Du beschreibst ein typisches Problem einer unsauberen Programmierung deinerseits. Der Fehler ist, das du die GET-Parameter nicht prüfst.

Ich bin persönlich kein Freund davon statt Dateinamen GET-Parameter zu verwenden und alle Aufrufe über eine zentrale "index.php" zu wrappen. Man handelt sich Sicherheitslücken ein, macht sich zusätzliche Arbeit und bekommt häßliche URLs mit schlechterer Wertung in den Suchmaschinen.

Warum läßt du nicht die einzelnen Dateien mit den Daten, sich aus einer zentralen Datei, das Layout holen. Damit benötigst du keine GET-Parameter mehr und bist flexibler.

---
Weaverslave

  Profil   Website   Editieren   Zitieren
dee123
Otto-Normal-Poster
Threadstarter




Beiträge: 63

Na du bist gut...
Ic hab das komplette Layout fertig. Der "Rahmen" der Page ist die index.php, die alle anderen Dateien includet. Ist doch übersichtlich und elegant. Fehler kin der Programmierung sind sofort erkennbar, da nur das einzelne Modul meckert, nicht die ganze page.
Ich bin aber trotzdem noch nicht weiter mit meinem Problem.
Kannste mir nicht mal ein Beispiel in PHP zeigen??
Danke

---
Meine alte Signatur gefiel mir nicht mehr. Darum hab ich jetzt eine neue.

  Profil   Website   Editieren   Zitieren
HoRnominatoR
Mausakrobat




Beiträge: 161

was fuer ein bspl? du musst einfach nur mit file_exists() ueberpruefen, ob die datei auch exisitert. wenn jemand http :// oder aehnliches angibt, kann er auch externe dateien includen, optimal um den webspace zu loeschen, irgendwelche daten draufzuspielen, spammails zu versenden etc., oder halt einfach einzelne dateien benutzen und mit dateiunabhaengigen werten arbeiten.

---
get OPERA for free

  Profil   E-Mail   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Du läßt das Layout (index.php) den Inhalt holen. Mach es genau umgedreht - laß die einzelnen Inhaltsdateien sich das Layout holen.

Du hast ehh schon einzelne Dateien mit den Inhalten - einfach jeweils oben und unten ein Aufruf für header+footer - fertig.

---
Weaverslave

  Profil   Website   Editieren   Zitieren
a-man
Mausakrobat




Beiträge: 154

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14:
switch($site) {
	case 'start':
		include('start.php');
		break;
	case 'news':
		include('news.php');
		break;
...
	default:
		include('404.php');
		break;
}


sowas in der art...
du verwendest wahrscheinlich sowas:
1: 
2: 
3:
include($site);


@subjective

kannst du mir bitte erklaeren, warum dir das nicht so gefaellt/warum man da leicht fehler einbaut (mein 1. beispiel) ?
@suchmaschinen kennen mitlerweile nicht schon die meisten solche parameter? (ich kenn mich da nicht aus...)

---
Debian ruult...
KDE ruult...
Opera ruult...

Diese Nachricht wurde geändert von: a-man
  Profil   Website   Editieren   Zitieren
DukeXP
Quasselstrippe




Beiträge: 266

a-man schrieb am 06.11.2004 18:45
@suchmaschinen kennen mitlerweile nicht schon die meisten solche parameter? (ich kenn mich da nicht aus...)

Aus Sicht einer Suchmaschine handelt es sich dabei um eine einzige Seite. Da der Inhalt ständig variert wird sie über kurz oder lang aus dem Index verbannt oder erst gar nicht aufgenommen.


---
Schützenverein „Einigkeit“ Autenzell-Rettenbach
meisterschuetzen.net - Der Treffpunkt für Sportschützen

Diese Nachricht wurde geändert von: DukeXP
  Profil   Editieren   Zitieren
a-man
Mausakrobat




Beiträge: 154

habs jetzt ueberprueft...

google kennt die parameter, der rest nicht...
edit: kann man so nicht sagen, ich hab (kurz) yahoo und fireball getestet...

jetzt weiß ich wenigstens, was ich als naechstes bei meiner seite umstellen muss...
(thx)

---
Debian ruult...
KDE ruult...
Opera ruult...

Diese Nachricht wurde geändert von: a-man
  Profil   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Abgesehen spielen ja nicht nur Suchmaschinen eine Rolle - auch für Surfer sind lesbare Links ohne Parameter schöner - man erinnert sich eher daran, man kann sie einfacher abtippen, ...

Außerdem ist es eigentlich sogar weniger Arbeit wenn man mit einzelnen Dateien nutzt, welche sich den Inhalt holen. Jede Datei kann dann definieren, welches Layout sie aus der zentralen Datei holt, welche Zusatzinhalte, etc - man kann also in der Datei Informationen definieren, welche sonst zusätzliche Parameter benötigen würden und über Verzeichnisse kann man die Informationen auch noch gruppieren.

Datenbankgestützte Sachen wie Blog- oder CMS-Systeme treiben teilweise einen ziemlichen hohen Aufwand um wieder "schöne" URLs hinzubekommen.

---
Weaverslave

  Profil   Website   Editieren   Zitieren
Can
Halbgott




Beiträge: 1324

Wo bitte ist da großer Aufwand um "schöne" URLs hinzubekommen. Allein schon mit der Billig-Methode ModRewrite kann man das doch schon ganz gut lösen. Aber ich find die Inhaltsseiten vom Layout includen zu lassen viel professioneller, und flexibler ist das ganze auch noch!??

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren
Philipp Gérard
Foren-Team




Beiträge: 1502

a) für schöne URIs ist mod_rewrite da.
b) wer das nicht hat lässt automatisch HTML-Dateien schreiben.
c) wer das nicht kann lernts (schleunigst).
d) Google mag fast alle URIs, der Inhalt zählt.
e) Alle anderen mögen nur richtig schöne URIs wie abc/def/seitenname.html

Ob man über eine index.php und zig. Templates die Inhalte verteilt, oder man lieber alles mehrfach macht sei dem Programmierer überlassen. Am schnellsten Programmiert ist die Variante mit weniger Quellcode, ergo die einzige Datei.

---
Arbeit ist das Feuer der Gestaltung. - Marx

  Profil   E-Mail   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Bei mod_rewrite benötigst du eine Regel wie du die URLs umschreibst. Egal wie wenig Aufwand die Definition der Regeln für mod_rewrite darstellt - man muss es erst einmal können. Viele Leute fürchten RegEx und selbst Leute die sie kennen, kann der Apache 1.3 ziemlich Nerven kosten, bis man die Einschränkungen kennt (kein \d, max. 9 Backrefrences, ...). Die Regeln können sehr komplex werden - vor allem wenn man nicht die komplette Kontrolle über den Pfad übernehmen will. Zusätzlich kannst du für Links, welche du schreibst nicht mehr die $_SERVER Variablen verwenden. Außerdem gibt es auch noch Webserver ohne mod_rewrite.

Automatisch HTML-Dateien zu schreiben, ist meist nicht möglich, da heutige Seiten fast immer dynamische Elemente haben - man müßte also PHP-Dateien schreiben (Ich weiß das dies bei einigen CMS so läuft, aber wir redern hier ja von einfachen dateibasierten Konzepten).

Google indiziert zwar alles was es bekommen kann, jedoch werden auch die Pfade/Dateinamen in die Wertung mit einbezogen.

Layout das sich den Inhalt holt, ist nicht professionell, da es dem Konzept der Trennung von Layout und Anwendungslogik entgegensteht. Mit einer zentralen Indexdatei ignoriert man die Fähigkeiten des Dateisystem zur Strukturierung der Inhalte. Man kodiert dann diese Struktur einmal in der index.php und zusätzlich legt man noch mal einzelne Dateien mit den Inhalten ab - doppelte Information. Man umgeht die Funktionen des Webservers und muss z.B. 404-Fehlerbehandlungen selbst implementieren.

Man verliert außerdem Flexiblität. Wenn nämlich die einzelne Datei das Layout bestimmt, das sie sich holt, kann sie sich auch ein anderes holen. Sie kann eine völlig andere Logik implementieren ohne die anderen Seiten zu beeinflussen (globale Variablen).

Eine zentrale Indexdatei macht erst Sinn, wenn man die Inhalte nicht mehr im Dateisystem liegen hat.

---
Weaverslave

  Profil   Website   Editieren   Zitieren
Philipp Gérard
Foren-Team




Beiträge: 1502

subjective schrieb am 08.11.2004 11:08
Eine zentrale Indexdatei macht erst Sinn, wenn man die Inhalte nicht mehr im Dateisystem liegen hat.


Sorry - dann habe ich vom falschen Thema geredet. Ich denke nicht mehr in Flat-file-Anwendungen

---
Arbeit ist das Feuer der Gestaltung. - Marx

  Profil   E-Mail   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844



Ich meist auch nicht. Verdiene mein Geld ja auch damit ein CMS zu bauen. Die index.php hat dort 9 Zeilen, während der eigentliche Quellcode in einem Klassenframework liegt. Bei einem DB-basierten System ist die Aufteilung des Quellcodes ja nur noch von der Wiederverwendbarkeit und den Erweiterungsmöglichkeiten abhängig.

Allerdings habe ich dort ein ähnliches Konzept - nur halt auf Datenbankebene. Ich habe eine Hierarchie von "Seiten", bei welchen gespeichert wird, welches Template sie nutzen und welche Zusatzinhalte (Navigationen, Banner, ...) dazugehören.


---
Weaverslave

  Profil   Website   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » .htaccess und .htpassw ganz leicht umgangen

Aktuelle Beiträge zur Hilfe im Forum für Homepage - .htaccess und .htpassw ganz leicht umgangen im Forum Homepage Hosting AntwortenLetztes Posting
Best online slots
in "PHP & MySQL"
0 23.01.2023 22:40 von Sevetr
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji
php preg_replace_callback für dynamischen Link
in "PHP & MySQL"
0 05.07.2016 11:02 von Rm21
PHP Code verschlüsseln
in "PHP & MySQL"
20 21.02.2016 21:25 von Kilian1
migrierter WP-Blog läuft nicht ...
in "PHP & MySQL"
0 04.02.2016 02:01 von Oxygon



Besucher : 7975196    Heute : 147     Gestern : 388     Online : 34     29.3.2024    10:55      0 Besucher in den letzten 60 Sekunden        
Nach oben