Apache, Windows, Skype: make_sock: could not bind to address 0.0.0.0:80.

Kilka miesięcy temu miałem problem z moim WampServerem, a właściwie z jednym elementem zawartego w nim stosu WAMP - serwerem Apache. Jeśli nie uruchomiłem go jako pierwszego zaraz po starcie komputera, to ikonka pakietu w trayu świeciła się na “żółto”, co nie oznaczało jakichś krytycznych błędów, ale z drugiej strony nadal nie pozwalała na pracę na localhoście. Jako, że w pewnym momencie moje zdenerwowanie tym utrudnieniem tradycyjnie przekroczyło wartość graniczną, zdecydowałem, że przeprowadzę dochodzenie i znajdę rozwiązanie problemu. Zapraszam do lektury.

[PHP] Przekazywanie tablic w żądaniu GET.

Ten pomysł “wisiał” na mojej liście rezerwowej przez dosyć długi czas, czekając na dobrą okazję do podjęcia tematu. Ze względu na to, że zwykle dzielę się z Wami rozwiązaniami napotkanych przeze mnie błędów / problemów, stwierdziłem, że czas na “coś nowego” - coś, co przynajmniej raz na jakiś czas przełamie schemat. Dzisiejszy wpis będzie więc całkowicie poświęcony pewnej ciekawej funkcjonalności, która może dość istotnie ułatwić obsługę skryptów.

[Apache] Wylogowywanie przy autoryzacji wykorzystującej mechanizmy .htaccess i .htpasswd.

Witam Was ponownie po dłuższej przerwie i zapraszam do lektury kolejnego wpisu. Jak zapewne wiecie, zabezpieczyć dostęp do danych na serwerze można na bardzo wiele sposobów. Wszelkiego rodzaju skrypty logowania bazujące na różnych mechanizmach autoryzacji skutecznie “utrudniają” nam dostęp do żądanych informacji i zmuszają do posłusznego wklepywania loginów i haseł w odpowiednie pola formularzy. W swojej wielkoduszności programiści oprócz logowania zwykle implementują też komplementarną akcję wylogowywania się z konta użytkownika - zaznaczam - zwykle, ponieważ nie zawsze takie “coś” istnieje. W dzisiejszym wpisie chciałbym pokazać przykład takiego “negatywnego przypadku” oraz doradzić, jak wybrnąć z zaistniałej sytuacji.

[Apache] Tworzenie wirtualnych hostów w systemie Windows.

W trakcie tworzenia strony internetowej oczywistą sprawą jest to, że chcielibyśmy przetestować, jak nasz produkt będzie sprawował się w środowisku produkcyjnym. Instalujemy więc lokalnie serwer testowy [np. WAMP, XAMPP] tak, aby wersje poszczególnych komponentów “pasowały” do tych, które będą obecne na serwerze docelowym. W ten sam sposób dostosowujemy też konfigurację tychże, tak, aby przeprowadzana symulacja była maksymalnie zgodna [np. ustawienia dotyczące register_globals czy magic_quotes_gpc - czasem można trafić na “ciekawy” serwer produkcyjny, stąd trzeba zadbać o wszystkie, nawet przestarzałe / zdeprecjonowane możliwości]. Dumni z siebie uruchamiamy serwer i wpisujemy w przeglądarce http://localhost/NaszProjekt/trunk/web/index.php…

[PHP, (My)SQL] Systemy uprawnień na stronach internetowych, część 0×02: Poziomy użytkowników.

Przyznaję bez bicia, że od ostatniego wpisu w tej serii upłynęło [zbyt] wiele czasu, za co ponoszę winę jedynie ja, ponieważ dopisywałem po jedno - dwa zdania co jakiś czas, ale ogólnie post “wisiał” na liście szkiców i “grzał ławkę”, nie mogąc się doprosić o solidne dokończenie i wejście na “boisko” strony głównej niniejszego bloga. W związku z tym postaram się dzisiaj i za tydzień zamieścić ostatnie części, tak, aby można było zamknąć temat. Przy tworzeniu kolejnej tego typu serii będę musiał chyba od razu napisać wszystkie części i po prostu publikować je w pewnych odstępach czasu, bo w tym tempie to kolejny wpis ukazałby się pewnie w listopadzie. ;] Ale do rzeczy: w jednym z poprzednich wpisów omówiliśmy najprostszy system zarządzania uprawnieniami, czyli autoryzację na podstawie flagi dostępu do danej sekcji strony. Dzisiaj rozszerzymy to rozwiązanie pozwalając na większą kontrolę i możliwość konfiguracji miejsc, do których ma dostęp nasz użytkownik.

[JavaScript, PHP] Powrót do poprzedniej strony.

Jakiś czas temu znalazłem u Piotra Sajnoga wpis o WordPressowej wtyczce Comment Redirect, pozwalającej na wyświetlenie po dodaniu przez użytkownika pierwszego komentarza na blogu strony z podziękowaniem [i zachętą do dalszej współpracy ;]]. Zostawiła tam komentarz także Banny, która zdecydowała się przetestować jej [tej wtyczki ;]] działanie także u siebie, gdzie miałem okazję pierwszy raz zetknąć się od strony użytkownika z tytułowym przekierowaniem. Zauważyłem jednak, że po dodaniu komentarza musiałem sam zatroszczyć się o “nawigację wstecz” do wpisu, ponieważ strona nie zawierała ani elementu meta refresh, ani żadnej innej JavaScriptowej metody przeniesienia na poprzednią stronę. Zasugerowałem więc w jednym z komentarzy, żeby umieściła w kodzie tej strony “coś”, co pozwoli na wygodniejsze korzystanie z tej strony. Ze względu na to, że nie zajmuje się ona programowaniem, z miejsca zostałem poproszony o pomoc.