Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS][PHP] W niektórych folderach nie czyta CSS
Forum PHP.pl > Forum > Przedszkole
GoldeNx3
Witam Was! Mam taką strukturę plików:

Kod
style
images
pages
index.php
.htaccess


W pages mam strony, mam tam dwa pliki:

head.php, footer.php, są to pliki wyglądu strony, które includuje w każdy plik. W tych plikach mam takie coś:

<link rel="stylesheet" type="text/css" href="./style/style.css" />

Ale gdy dodam plik np. w folderze admin i zaincluduje head.php oraz footer.php:

include "../pages/head.php";

Ale gdy tak dodam, to struktura strony zostaje, ale tak jakby nie czytał pliku CSS, jak temu zaradzić?
Mackos
  1. <link rel="stylesheet" type="text/css" href="style/style.css" />

Powinno pomóc.
ewentualnie
  1. <link rel="stylesheet" type="text/css" href="../style/style.css" />
GoldeNx3
Oświeciłeś mnie. haha.gif Zrobiłem tak:


  1. <link rel="stylesheet" type="text/css" href="http://www.strona.pl/sklep/style/style.css" />



Ale jest jakiś inny sposób na implementowanie stylu?
thek
Tak... Podajesz ścieżkę od roota serwera czyli href="/style/style.css"
webdice
Cytat(GoldeNx3 @ 5.04.2011, 23:02:42 ) *
Oświeciłeś mnie. haha.gif Zrobiłem tak:


  1. <link rel="stylesheet" type="text/css" href="http://www.strona.pl/sklep/style/style.css" />



Ale jest jakiś inny sposób na implementowanie stylu?


Podawanie pełnego adresu do skryptów, stylów czy obrazków nie jest najlepszym pomysłem.
nekomata
Ale co masz dokładnie na myśli?Że jeśli przeniesie domenę to będzie musiał wszystkie linki ręcznie zmieniać?Czy może takie rozwiązanie nie jest "SEO Friendly" ?Albo coś innego?
thek
Webdice myśli zapewne o fakcie, iż łatwo wtedy uzyskać dostęp do takich plików, poznać strukturę serwisu, a to ułatwia atak lub choćby wyszukiwanie potencjalnych luk.
nekomata
Ale przecież i tak musi uzyskać dostęp do pliku ... jak nie uzyska to się strona rozjedzie...
thek
Owszem... Dostęp musi uzyskać, ale może to zrobić w sposób, który ukryje prawdziwą ścieżkę do pliku na serwerze. Przykład?
/getfile/css/style.css gdzie getfile będzie plikiem php, który pobiera pliki z katalogów zablokowanych przed odczytem w htaccess. W tym wypadku szukałby pliku style.css w katalogu przeznaczonym dla plików styli, a zapisane w postaci nie SEO-friendly miało by postać getfile.php?type=css&file=style.css i chyba wszystko jasne. To gdzie byłby katalog ze stylami na serwerze błoby możliwe do ukrycia, a sam skrypt getfile.php jedynie by wysyłał do przeglądarki zawartość odczytanego pliku style.css, dzięki czemu plik byś mógł widzieć, ale jego realnego położenia na serwerze nie znałbyś. A nawet gdybyś poznał, to nie odczytabyś go wtedy, bo byłby dostęp zabroniony w htaccess.

Podam inny przyklad. W serwisie niedawno robiłem faktury dla klientów. Wyobrażasz sobie sytuację, że ktoś znając ścieżki i sposób generowania nazw plików odczytuje sobie faktury bądź inne pliki klientów? Tak nie może się dziać i dlatego musiałem zrobić podobny do powyższego, który dodatkowo sprawdza uprawnienia do pobrania. Tylko klient-właściciel ma prawo odczytać i zapisać na swoim komputerze te pliki. A dostęp do nich uzyskuje dopiero po zalogowaniu na własne konto. Nie zna prawdziwej ścieżki więc ewentualny atakujący, a nawet gdy ją pozna, jest plik dla niego nieosiągalny. To jest między innymi to, o czym zapewne myślał webdice.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.