- [WIN9x/2k] Mam płytę główną Asus P4P8X ze zintegrowaną kartą dźwiękową SoundMax. Karta przestała działać - co robić?
Problem nie tkwi w sterownikach czy konfiguracji Windows, ale w BIOS'ie. Musisz Zaraz po uruchomieniu (gdy pokażą się pierwsze informacje na ekranie) odciąć zasilanie komputera (najlepiej wyjąć wtyczkę z gniazdka). Uczynić tak dwa, trzy razy. Gdy pokaże się błąd ("Overclocking failed") naciśnij F1. Po tej operacji komputer powinien uruchomić się witając nas miłym dźwiękiem.
albo
Problem tkwi w ustawieniach BIOS'u dotyczących overclockingu. Jeśli procesor podkręcany był na ustawieniach "Manual", to należy te ustawienia przywrócić do wartości domyślnych, nawet jeśli aktualnie wybrana opcja to "Automatic".
- [WWW] Jak pobrać MP3 z sieci korzystając z Google'a ?
Można skutecznie "poprosić" Google'a aby wyszukał dla nas strony zawierające bezpośrednie odnośniki do plików MP3. Oto co należy wpisać do wyszukiwarki:
-inurl:(htm|html|php) intitle:"index of" +"last modified" +"parent directory" +description +size +(wma|mp3) "Britney Spears"
Po takim zapytaniu, Google wyświetli linki do stron z których bez żadnych problemów ściągniemy MP3'ójki.
- [WIN95/98] Sposób na zawieszenie systemu Windows 98 (nie Win98 SE) (prawdopodobnie działa również w Win95)
Przed użyciem, zaznaczam, że ta pozycja Lukas FAQ ma jedynie wzbogacić waszą wiedzę i bardzo Was proszę - nie wykorzystujcie jej do niecnych celów ;) Dzięki.
Istnieje pewien rodzaj ścieżki dostępu, której otwarcie powoduje zawieszenie systemu.
Wiedząc to można spreparować stronę WWW, która automatycznie przekierowuje użytkownika pod niebezpieczny adres lub utworzyć wiadomość e-mail typu HTML, która będzie zawierała specjalny skrypt wywołujący żądanie dostępu do ów ścieżki. Oba sposoby sprawdzałem, oba działały. Co do wiadomości e-mail, użytkownik-ofiara musi mieć włączoną obsługę skryptów w wiadomościach e-mail (na [nie]szczęście jest ona wyłączona w programie Outlook Express począwszy od wersji 5.5 - o ile się nie mylę).
file:///C|/CON/CON
- [PHP] Czy korzystanie z zagnieżdzania skryptów PHP w plikach HTML jest bezpieczne?
Nie! Okazuje się, że pliki HTML mają niebezpieczną skłonność do wyświetlania kodu php w przypadku wystąpienia błędów PHP. Tak więc, jeśli zagnieżdżasz skrypt PHP, który łączy się z bazą danych w pliku HTML, to w przypadku wystąpienia nieobsługiwanego przez skrypt błędu użytkownik będzie miał wgląd do kodu skryptu zagnieżdżonego, czyli informacji takich jak: login, hasło, wszystko! Zamiast zagnieżdżać skrypty w plikach HTML, lepiej używać plików PHP. W przypadku wystąpienia błędu, serwer zgłasza go, lecz nie wyświetla kodu skryptu ;)
Alternatywą do tego rozwiązania problemu jest umieszczenie w pliku .htaccess (pliku konfiguracyjnym serwera) odpowiedniego wpisu (jak go znajdę to podam ;).
- [CSS] Jak nie używając JavaScript zrobić, żeby ciało tabelki pozostawało niewidoczne (nagłówek widoczny) dopóki użytkownik nie najdzie na nią kursorem?
table
{
width: 85%;
margin: auto;
}
table:hover td /* Zadziała dla wszystkich komórek(!) tabeli, gdy użytkownik najedzie kursorem na dowolny element(!) tabeli */
{
display: table-cell; /* Ważna instrukcja: wyświetla komórki ciała tabeli w sposób specyficzny dla komórek tabeli ;) */
}
table td
{
display: none; /* domyślnie komórki tabeli, będące w jej "ciele" są nie widoczne */
}
Przy czym powyższy kod nie działa w przeglądarce Internet Explorer - ciało tabelki zawsze będzie ukryte, nawet jeśli najedziemy na nie kursorem. Dla IE musimy niestety pozostawić włączoną widoczność tabelek na stałe (albo skorzystać z JavaScript). Pokaże jak zastosować hack, dzięki któremu użytkownicy IE będą widzieć tabelki, a użytkownicy innych przeglądarek będą mogli cieszyć się pokazywaniem zawartości tabelki na życzenie:
table
{
width: 85%;
margin: auto;
}
table:hover td /* Zadziała dla wszystkich komórek(!) tabeli, gdy użytkownik najedzie kursorem na dowolny element(!) tabeli */
{
display: table-cell; /* Ważna instrukcja: wyświetla komórki ciała tabeli w sposób specyficzny dla komórek tabeli ;) */
}
table td
{
display: none; /* domyślnie komórki tabeli, będące w jej "ciele" są nie widoczne */
* display: table-cell; /* Tą linijkę zinterpretuje tylko IE */
}
- [XHTML+CSS] Nie działa ustawianie szerokości (width) i wysokości (height) obrazka (grafiki) w procentach - co robić?
W większości wypadków takie zachowanie przeglądarek jest związane z niezdefiniowaniem wymiarów struktury nadrzędnej (kontenera nadrzędnego, czyli zwykłego DIVa), w którym umieszczony jest nasz obraz.
Jak to naprawić? Przypisujemy do DIVa takie rozmiary, jakie ma mieć nasz obrazek, np.:
<div style="width:15%; height:25%;"></div>
a obrazkowi (który jest wewnątrz DIVa) przypisujemy:
<img src="jakas/tam/sciezka" width="100%" height="100%" />
W ten sposób obrazek rozciągnie się po całym DIVie (kontenerze nadrzędnym). Warto wspomnieć iż wymiary procentowe nie odnoszą się do oryginalnego rozmiaru obrazka, ale do aktualnych wymiarów kontenera nadrzędnego.
- [WWW] Gdy ściągam plik ze zdalnego serwera obsługującego wznawianie ściągania, wznawianie ściągania działa dopóki nie uruchomie ponownie przeglądarki - wtedy wyświetla błąd i zaczyna pobierać od początku. Co się dzieje i jak to ominąć?
Opisana sytuacja zachodzi, gdy sesja otwarta na pobieranie wygasa - dzieje się tak wtedy, gdy usuwasz pliki Cookie (a pliki Cookie służące do przechowywania danych sesji w przeważającej większości wypadków wygasają wraz z zamknięciem przeglądarki). Pamiętam jak miałem z tym ogromny problem, gdy pobierałem program Adobe After Effects (zajmuje kokoło 1,2 GB). Gdy większosć pliku była już pobrana, nagle zrestartował mi się komputer. Pobieranie przepadło. Czyżby? Po kilku minutach zastanawiania się jak uratować to pobieranie i rozpracowywania mechanizmu downloadu serwera Adobe doszedłem do konkretnych wniosków.
Zrobiłem kopię zapasową pliku, którego nie dokończyłem ostatnio pobierać. Uruchomiłem przeglądarkę, usunąłem stare pobieranie w Download Manager, po czym zalogowałem się na stronie i rozpocząłem pobieranie nowego pliku (od nowa). Zdążyło się pobrać zaledwie kilkaset kilobajtów kiedy zastopowałem proces pobierania. Bez zamykania przeglądarki (to ważne - nie wolno zamknąć przeglądarki, ponieważ utracimy sesje), podmieniłem mały plik (ten kilkuset kilobajtowy) zrobioną wcześniej kopią zapasową. Wznowiłem pobieranie. Zadziałało. Zaoszczędziłem kilka dni Downloadu i nauczyłem się ważnej rzeczy. Czasami warto pomyśleć kilka minut...
- [WIN9x/2k] Gdzie system szuka ścieżek do aplikacji które ma odpalić po uruchomieniu?
o folder Autostart w obrębie menu Start,
o klucz Rejestru
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
o klucz Rejestru
HKEY_CURRENT_USER\Software\Microsoft\Windows\ Current-Version\Run
o skrypty administracyjne w katalogu:
%windir%\SYSTEM32\GROUPPOLICY\MACHINE\SCRIPTS\STARTUP
wartość "UserInit" w kluczu HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
, który służy do wczytywania powłoki systemu (domyślnie: Eksplorator), lecz może być użyty do uruchamiania dowolnych programów,
o wartość "BootExecute" w kluczu HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager
. Znając reguły Native Code, twórca wirusów może uzupełnić tę wartość o kolejne przywołania aplikacji.
- [WIN9x/2k] Jak zablokować możliwość uruchomienia określonych programów?
Istnieje wiele metod na zablokowanie możliwości uruchomienia określonej aplikacji przez system.
1)Jeśli posiadamy Windows XP Professional, a partycja na której znajduje się aplikacja-cel posiada system plików NTFS, to nic bardziej prostego - zmieniamy uprawnienia we właściowściach pliku (zakładka "Zabezpieczenia"). Jeśli nie widzisz zakładki "Zabezpieczenia", należy wyłączyć opcję "Użyj prostego udostępniania plików..." znajdującą się w aplecie "Opcje folderów". Aby ją wyłączyć, otwieramy dowolny folder, klikamy odpowiednio menu Narzędzia > Opcje folderów, następnie przechodzimy do karty "Widok" i odznaczamy zaznaczenie przy opcji "Użyj prostego udostępniania plików (zalecane)". Opcja jest dostępna w systemie Windows XP Professional, jeśli jej nie znalazłeś, prawdopodobnie posiadasz Windows XP Home Edition. Po tej operacji zakładka "Zabezpieczenia" (znajdująca się we właściwościach pliku, który chcemy zabezpieczyć) powinna być dostępna. Aby zabezpieczyć plik, klikamy na niego prawym przyciskiem, wybieramy zakładkę "Zabezpieczenia", w górnej części okna wybieramy użytkownika któremu chcemy odebrać prawa dostępu (wybieramy "Wszyscy", jeśli chcemy zabezpieczyć plik tak, by nikt nie miał do niego dostępu), następnie stawiamy zaznaczenie przy "Pełna kontrola", (powinno pojawić się zaznaczenie przy każdej operacji (odczyt, zapis, itd...)). Klikamy OK. Od tej pory plik jest zabezpieczony. Aby go odbezpieczyć, postępujemy odwrotnie (usuwamy wszystkie zaznaczenia - czyli nadajemy prawa do (odczytu, zapisu, itd...).
2) Druga metoda zabezpieczania przed uruchomieniem jest nieskuteczna w przypadku osób, które znają się na kompach.
System Windows posiada wbudowany mechanizm pozwalający na ograniczenie uruchamiania plików o określonych nazwach np. cmd.exe lub regedit.exe. Aby zablokować uruchamianie niepożądanych plików należy w gałęzi HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
dodać klucz o nazwie DisallowRun typu DWORD i nadać mu wartość "1". Następnie należy stworzyć dodatkową gałąź HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun
a w niej klucze typu STRING numerowane kolejno od 1. Jako wartość należy podać nazwę pliku wykonywalnego aplikacji.
- [WIN2k] Przyśpieszenie internetu o 20% (tak napradę o kilka procent ;)
Klikamy Start >> Uruchom. Wpisujemy gpedit.msc. Przechodzimy do folderu: Konfiguracja komputera >> Szablony administracyjne >> Sieć >> Harmonogram pakietów QoS. Klikamy na Ogranicz rezerwowaną przepustowość następnie ustawiamy opcje na Włączone i u dołu ustawiamy limit przepustowości na 0%, klikamy Zastosuj i restartujemy kompa.
Ustawienie to określa procent przepustowości połączenia, jaki system może zarezerwować dla własnych, niecnych celów ;). Ta wartość ogranicza skumulowaną rezerwację przepustowości dla wszystkich programów uruchomionych w systemie.
Domyślnie Harmonogram pakietów ogranicza system do 20 procent przepustowości połączenia, ale tego ustawienia można użyć w celu zastąpienia wartości domyślnej.
Jeśli to ustawienie zostanie włączone, można użyć pola Limit przepustowości, aby dostosować wielkość przepustowości, jaką system może zarezerwować.
Jeśli to ustawienie zostanie wyłączone lub pozostanie nieskonfigurowane, system używa wartości domyślnej, 20 procent przepustowości połączenia.
Ważne: jeśli limit przepustowości dla określonej karty sieciowej jest podany w rejestrze, to ustawienie jest ignorowane podczas konfigurowania tej karty sieciowej.
- [WIN2k] Jak usunąć program Windows Messenger?
Uruchamiamy wiersz polecenia (Start > Uruchom > wpisujemy "cmd.exe") i piszemy: "rundll32 setupapi,InstallHinfSection BLC.Remove 128 %SystemRoot%\INF\msmsgs.inf"
- [WIN2k] Sposób na zmianę hasła aktywnego konta, gdy jesteśmy zalogowani na tym koncie (WinXP)
// Wyświetlenie userów
net user
// Zmiana hasła
net user wlasciciel *
gdzie "wlasciciel" jest nazwa konta na ktorym jestesmy obecnie zalogowani.
- [DOS/WIN9x/2k] Łączenie poleceń konsoli Windows
Poniższe polecenie otwiera C:\ listuje wszystkie pliki, wybiera pliki, które mają "o" w nazwie i zapisuje je do pliku.
cd c:\ | dir /b /l | find "o" > c:\plik.txt
- [CSS] Sposób na ustawienie (włączenie) position:fixed w Internet Explorerze (IE)
Zawsze spotykam się z określeniem, że pozycji stałej bezwzględnej (fixed) Iternet Explorer nie interpretuje - to prawda. Jest to jedeno z największych niedociągnięć tej przeglądarki. Naszczęście udało mi się w sieci znaleźć sposób na ominięcie tej przypadłości którego autorem jest Stu Nicholls - oto link do przykładowej strony.
- [XHTML] Czym się różni parametr CLASS od parametru ID?
Parametr ID określa w sposób jednoznaczny kontener, tj. w dokumencie nie może być dwóch obiektów o takim samym ID (przykładowo: nie może być np. dwóch obiektów DIV o id="Pytaniewazne"). Ta cecha nie występuje w przypadku CLASS, który służy do obejmowania jedną nazwą klasy różnych elementów dokumentu, co ułatwia, przykładowo - stosowanie styli do grupy elementów, dostęp do nich poprzez JavaScript i VBScript.
- [XHTML] Jak ukryć źródło strony XHTML?
Skutecznie - nie da się! Możecie mi wierzyć. Jeśli przeglądarka nie chce pokazać źródła, zawsze można użyć sniffera filtrując porty przeglądarki... nie ma problemu (należy pamiętać przy tym, że Opera nawiązuje wiele połączń z serwerem, na wielu różnych portach, wiec przed naszym sniffingiem należy ograniczyć komunikację do jednego połączenia - żeby nie uciekło nam 3/4 danych). Również wszelkie sposoby ukrywania źródła strony za pomocą JavaScript (takie jak kodowanie źródła strony w Base64, następnie dekodowanie go za pomocą JavaScript i wyświetlanie za pomocą document.write) są do obejścia w 5 minut.
Natomiast można pójść dalej i korzystając z tego, że nie każdy odwiedzający wie do czego służy sniffer, zrobić taki mały myk, z użyciem AJAX'a.
Największą bolączką stron zakodowanych w Base64 jest fakt, że kod cały czas jest widoczny w źródle strony i dla przeciętnego "webmastera" nie stanowi problemu jego skopiowanie i zdekodowanie. Należy więc ukryć kod Base64, tak, żeby nasz "przeciętny webmaster" nie mógł go skopiować. Będziemy go więc podsyłać za pomocą AJAX'a.
Przykładowo, korzystając z biblioteki mintAJAX można pobierać zakodowaną treść strony (a tą treść najlepiej zakodować w Base64 lub, jeszcze lepiej, w jakimś mniej popularnym kodzie). Z tej racji, że document.write w XHTML nie ma racji bytu, korzystamy z biblioteki mintAJAX do podsyłania nam poszczególnych podstron oraz funkcji służącej do dekodowania Base64. Funkcje taką można znaleźć na stronie: http://www.webtoolkit.info/javascript-base64.html. Ja tylko podrzuciłem pomysł - od Was zależy jak go wykorzystacie ;)
- [Flash] Czy możliwa jest zmiana adresu URL w już skompilowanym pliku SWF?
Tak, wbrew temu co można przeczytać na wielu forach, taka zmiana jest możliwa na dwa sposoby: za pomocą łatwego w użyciu bardzo trudno dostępnego i niezwykle komercyjnego programu ("Action Script Replacer" lub "URL Action Editor"). Drugim sposobem jest posłużenie się konsolowym programem i edycja danych w notatniku (o tym później). Tym sposobem jednak nie podglądniemy symboli, nie odsłuchamy dźwięków znajdujących się w zasobach i nie zrobimy wielu innych rzeczy graficznego świata.
Najpierw jednak zajmijmy się pierwszym sposobem. Obie te aplikacje ("Action Script Replacer" i "URL Action Editor") wchodzą w skład pakietu aplikacji oferowanego przez grupę "Buraks" (Buraks.com). Pierwsza z nich potrafi zdekompilować plik SWF, modyfikować skrypty znajdujące się wewnątrz niego, podglądać symbole. Druga przeznaczona jest dla typowych sytuacji w których adres w skompilowanym już pliku SWF się zdezaktualizował, a my nie mamy kodu źródłowego (pliku .fla). Za pomocą tego programu szybko poradzimy sobie z aktualizacją nieszczęsnego adresu URL.
Jest jeszcze trzeci program (jako jedyny posiadający wersję demonstracyjną) "Action Script Viewer" za pomocą którego bardzo sprawnie podglądniemy źródła ActionScriptów w pliku SWF.
Natomiast, jeśli orientujesz się w komputerowym światku, polecam program zupełnie darmowy, konsolowy Flasm, oraz program Flare (oba programy tego samego autora). Znajdziecie go w tych miejscach:
Sam z niego korzystałem i ze spokojem mogę powiedzieć, że było to właśnie to czego szukałem (musiałem zmienić zdezaktualizowany adres URL w skompilowanym pliku SWF - źródła przepadły wraz z awarią dysku). Program dekompiluje plik SWF do formatu tekstowego, w którym możemy (przez Notatnik) dokonać edycji, zapisać zmiany i zpowrotem skompilować klip. Mamy całkowitą kontrolę nad tym co jest zmieniane, a cały proces jest niesłychanie szybki. Wystarczy jedynie ukryć swój lęk przed systemową konsolą ;) Pokażę teraz przykład jak można zmienić jakiś ciąg znaków w pliku SWF. Przyjmijmy, że mam plik SWF o nazwie "zmienmnie.swf"
- Kopiujemy nasz plik "zmienmnie.swf" do katalogu z aplikacją Flasm.
- Przeciągamy go na ikonę programu Flasm i puszczamy, dostajemy plik z rozszerzeniem .flm
- Otwieramy plik w notatniku i zmieniamy interesujące nas ciągi znaków (użyjcie wyszukiwania).
- Po wszystkim plik znów trzeba przerobić na SWF. Uruchamiamy więc systemową konsolę (Start, Uruchom, "cmd.exe")
- Przechodzimy do folderu w którym mamy program Flasm za pomocą komendy cd :
Microsoft Windows XP [Wersja 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\NazwaUzytkownika>cd Pulpit\Flasm16win
C:\Documents and Settings\NazwaUzytkownika\Pulpit\flasm16win>
- Wydajemy polecenie:
C:\Documents and Settings\NazwaUzytkownika\Pulpit\flasm16win>flasm.exe -a "zmienmnie.flm"
zmienmnie.flm successfully assembled to C:\Documents and Settings\NazwaUzytkownika\Pulpit\flasm16win\zmienmnie.swf, 43064 bytes
- Już po wszystkim - polecenie uaktualnia nam nasz plik SWF.
- [PHP] Jak prosto wyświetlić kod skryptu PHP?
Służy do tego funkcja show_source(), która nie dość, że wyświetla kod podanego jako parametr pliku, to jeszcze koloruje jego składnię.
<?php
show_source("./nazwa_pliku.php");
?>
- [PHP] Jak łatwo pokolorować kod skryptu PHP?
Służy do tego funkcja highlight_string(). Jej budowa przedstawia się następująco:
mixed highlight_string ( string $str [, bool $return] )
gdzie:
pierwszy parametr: łańcuch znaków który ma zostać pokolorowany
drugi parametr (opcjonalny): Jeśli True, to funkcja zwraca sformatowany łańcuch tekstowy zamiast go wypisywać
Przykład użycia:
<?php
highlight_string('<?php function Wyswietl(){ echo("To jest jakiś tekst"); } ?>');
?>
Efekt:
<?php function Wyswietl(){ echo("To jest jakiś tekst"); } ?>
- [CSS] Jak sprawić by Internet Explorer interpretował dany kawałek CSS inaczej niż inne przeglądarki (jak dedykować style)?
Jak dedykować style CSS tylko dla Internet Explorera?
body
{
color: green;
* color: blue;
}
We wszystkich przeglądarkach (prócz IE) tekst będzie zielony, natomiast w IE niebieski.
- [Sprzęt] Czym się różnią oznaczenia pamięci PC-333 i PC-2700, co to jest FSB i jak się ma do prędkości pamięci?
Stosowane są dwa rodzaje oznaczeń pamięci DDR SDRAM. Mniejszy (np. PC-200) mówi o częstotliwości, z jaką działają kości. Natomiast większy (np. PC1600) mówi o teoretycznej przepustowości jaką mogą osiągnąć. Szerokość magistrali pamięci wynosi 64 bity. Przepustowość obliczana jest metodą:
PC-200 (PC-1600) – (64 bity * 2 * 100 MHz)/8 = 1,6 GB/s
PC-266 (PC-2100) – (64 bity * 2 * 133 MHz)/8 = 2,1 GB/s
PC-333 (PC-2700) – (64 bity * 2 * 166 MHz)/8 = 2,7 GB/s
PC-400 (PC-3200) – (64 bity * 2 * 200 MHz)/8 = 3,2 GB/s
Przy czym częstotliwość szyny FSB powinna być dwa razy mniejsza niż częstotliwość pamięci. Przykładowo w PC-266 częstotliwość pamięci wynosi 266 MHz, a częstotliwość szyny wynosi 133 MHz. Aby uzyskać przepustowość należy wymnożyć szerokość szyny FSB (64bity) łączącej CPU z kontrolerem pamięci (znajdującym się najczęściej w mostku półnoscnym) przez częstotliwość FSB i jeszcze przemnożyć razy 2 ponieważ dane w DDR SDRAM przesyłane są podczas narastania i opadania cyklu zegarowego. Po przemnożeniu wyjdzie ilość megabitów na sekundę trzeba więc podzielić przez 8 aby dostać megabajty.
Szyna pamięci łączy kontroler pamięci (znajdujący się najczęściej w mostku półnoscnym) z pamięcią RAM
Szyna FSB łączy procesor (CPU) z kontrolerem pamięci (znajdującym się najczęściej w mostku północnym)
FSB i szyna pamięci zwykle pracują z tą samą szybkością, jednak da się to zmienić (pamięć 166MHz pracuje z szyną 133MHz) - wtedy mamy do czynienia z systemem asynchronicznym.
Są dwa typy oznaczeń szybkości pamięci:
- wyższe, np. PC-3200 - pokazuje teoretyczną szybkosć transferu danych pamięci. Aby obliczyć częstotliwość taktowania pamięci należy pomnożyć 3200 przez 8, potem podzielić przez 64 (szerokość szyny pamięci) i podzielić przez dwa ( dane przesyłane są w zboczu narastającym i opadającym cyklu zegarowego) i wychodzi częstotliwość taktowania pamięci
- niższe, np. PC-400 - pokazuje częstotliwość taktowania pamięci. Jeśli chcesz zamienić częstotliwość taktowania pamięci na przepustowość należy pomnożyć 400 razy 64 bity * 2 i podzielić przez 8 (jeśli chcesz dostać przepustowość w megabajtach).
- [PHP] Jak wylistować/wyszukać wszystkie katalogi w danym podkatalogu?
<?php
echo('<ul style="line-height:5pt; margin:0px; padding:0px; margin-left:100pt;">');
foreach( glob("../httpd-users/*") as $filename )
{
if (is_dir($filename))
{
echo('<li><strong><a href="http://localhost/~'.basename($filename).'">'.basename($filename).'</a></strong></li><br />');
}
}
echo('</ul>');
?>