› Webmaster Blog

[PHP] metody dostępu do prywatnej własności klasy

Teoria mówi, że parametr prywatny klasy w PHP z założenia nie jest dostępny z zewnątrz. Mając więc klasę:

class A { private $x = 1; }
$a = new A();
echo $a->x; // spowoduje błąd

Możemy się spodziewać błędu podczas próby wyświetlenia zawartości zmiennej prywatnej.  czytaj całość

[RECENZJA] AngularJS – Poznaj możliwości AngularJS – B. Green, S. Seshadri

AngularJS_Shyam-Seshadri Brad-Green

Na nasz stół redakcyjny trafiła ostatnio pozycja: „AngularJS – Poznaj możliwości AngularJS„, autorstwa: Brad Green i Shayam Seshadri.

Postanowiliśmy się nieco bliżej przyjrzeć tej pozycji i sprawdzić czy sprawdzi się ona jako podręcznik podczas pracy nad projektem Angular-owym. Zacznijmy więc!

Już po kilku sekundach po otwarciu książki naszą uwagę przykuł nietypowy układ marginesów. Czytając kolejne strony mamy wrażenie, że ktoś chyba zapomniał ustawić poprawnych marginesów dedykowanych dla druku dwustronnego 😉 Treść jest po prostu zbyt blisko łącznika stron i trzeba się nieco nagimnastykować aby komfortowo przeczytać całą linie tekstu. Dodatkowo specyficzny rozmiar podręcznika skutecznie uniemożliwia płynne czytanie.

Nieco większy rozmiar strony i reorganizacja marginesów była by zdecydowanie zalecana.

 
 
 

Za vs Przeciw

ZALETY

– prosty język,
– wiedza podawana „w pigułce”,
– dużo przykładów,
– opis dodatkowych narzędzi,
– obszerny opis najważniejszych modułów.

WADY

– nieergonomiczny format książki,
– nieaktualna wersja frameworku,
– nieaktualne zalecenia (jQuery).

  czytaj całość

Nowe możliwości z nowymi szablonami dla Joomla „Wegy”

W Internecie można znaleźć dużo bezpłatnych szablonów dla Joomla CMS, ale moją one różne problemy: brak wsparcia, aktualizacji, plaginów itp. Często to są szablony do starych wersji Joomli, które nie można przenieść/importować na nowy system.

Czasami warto zastanowić się nad zainwestowaniem części funduszy na szablon premium i ocenić go z punktu widzenia użytkownika i administratora.

Redakcja webowiec.net miała okazje przetestować dla Was nowy szablon „Wegy” od TemplateMonster Polska.  czytaj całość

Optymalizacja strony www – przeglądarka

Odkąd Google wymusiło od właścicieli stron nie tylko optymalizację samych treści na stronie, ale też całej strony pod względem technicznym, optymalizacja stała się bardzo ważnym etapem publikowania strony www.

W połowie kwietnia 2015 roku Google wprowadza nową politykę oceniania stron, w myśl której strona musi dostosowywać się do urządzenia użytkownika. Nie dość, że strona ma dobrze wyglądać na komputerze, tablecie czy telefonie (responsywność), to powinna też działać szybko.

Korzystając, np. z bootstrap-a możemy łatwo umożliwić dostosowanie strony do wszystkich urządzeń, ale optymalizacja strony nadal wymaga nieco większego nakładu pracy i zaangażowania.

Poniżej kilka wskazówek, które pomogą w łatwy sposób przyspieszyć stronę nawet kilkukrotnie:  czytaj całość

Bootstrap youtube Code – WordPress BB code youtube for bootstrap

Wtyczka do WordPress, która:
1) Zamienia wszystkie kody <iframe>, <object> i <embed /> na wersje responsywne.

2) Umożliwia wstawienie BBcode:

[yt]https://www.youtube.com/watch?v=Pk52U72dcvE[/yt]
lub
[yt]Pk52U72dcvE[/yt]
  czytaj całość

Atak brute force jako GoogleBot na WordPress – jak wykryć

Sprawa dość świeża (choć problem bardzo stary), bo pierwsze sygnały o atakach pojawiły się już 14 stycznia 2015.

Odporny na skanowanie popularnym „clamscan”, bot wkradł się na wiele serwerów, dokunując ataków typu brute force na inne skrypty, najczęściej WordPress, podając się za „GoogleBot”. Przykładowe logi serwera atakowanego:

IP - - [14/Jan/2015:19:12:04 +0100] "POST wp-login.php HTTP/1.1" 200 3865 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
IP - - [14/Jan/2015:21:20:10 +0100] "POST wp-login.php HTTP/1.1" 200 6166 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
IP - - [14/Jan/2015:19:12:04 +0100] "POST wp-login.php HTTP/1.1" 200 3865 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

Zabezpieczenie przed atakami to po prostu ograniczenie dostępu do pliku „wp-login.php” poprzez filtrowanie IP, lub dodatkowa autoryzacja wykorzystując „htpassword”.

Jednak jak wykryć czy nasz serwer nie padł ofiarą owego bota, stając się elementem większego bot-neta:

Dla całego katalogu /home lub odpowiedniego katalogu z danymi www, wykonujemy skanowanie plików php po zawartości:
grep -lir '\\x.\\x.\\x.' /home
Polecenie zwróci listę potencjalnie zainfekowanych plików.

Aby maksymalnie zwiększyć zasięg skanowania, polecenie:
grep -lir "?><?php" /home
Zwróci wszystkie pliki, które korzystają z „doklejonego” fragmentu kodu php.

Dodatkowe metody zabezpieczenia serwera:
– ustawienie chmodów wszystkich plików na : 0666, folderów na: 0755
– wyłączenie funkcji „eval” w php
– regularne skanowanie programem „clamscan”

UPDATE 16.01.2015:
aktualizacja polecenia „grep” – dostosowanie pod większą grupę potencjalnie niebezpiecznych plików.

UPDATE 18.01.2015:
Skrypt automatycznie usuwający zainfekowany kod z plików:

1) Zawartość zapisujemy jako „clean.sh” i nadajemy chmody +x:

#!/bin/bash
FILE=$1
if [ -f $FILE ]
then
`sed '1d' $FILE > $FILE.tmp`
`mv $FILE.tmp $FILE`
`sed -i 1i"<?php" $FILE`
echo "file($FILE) : OK";
else
echo "file($FILE) : NOT FOUND";
fi

2) Generujemy liste zainfektowanych plików:
grep -lir '\\x.\\x.\\x.' /home > all.txt

3) Uruchamiamy skrypt dla każdego znalezionego pliku:
cat all.txt | xargs -n1 ./clean.sh

4) Jeśli wykonywaliśmy skrypt jako root, trzeba jeszcze przywrócić właściciela pliku.
chown user:user -R /home/user

[solved] booting from local disk.. pxe-m0f: exiting pxe rom

Błąd podczas uruchamiania systemu:

# booting from local disk..
# pxe-m0f: exiting pxe rom

Ta mało czytelna wiadomość to po prostu informacja, że BIOS oddał danemu dyskowi kontrole nad systemem i… nic się nie stało, bo dysk nie posiada systemu operacyjnego.

Rozwiązanie:
1) zresetować maszyne, uruchomić BIOS
2) w zakładce BOOT zmienić kolejność dysków „HDD Boot Piority” i jako pierwszy ustawić ten, na którym został zainstalowany system operacyjny*
3) zapisać zmiany, restart

* jeśli mamy 100% pewność, że wybrany jest dysk z systemem operacyjnym, konieczne będzie przeinstalowanie GRUB-a:  czytaj całość

[linux][centOS] problemy z zamontowaniem partycji/dysku

Jednym z wielu problemów może być zamontowanie w systemie nie do końca sprawnego dysku, który nie przeszedł wstępnej weryfikacji przy starcie systemu, co spowodowało jego pominięcie (o ile w pliku /etc/fstab umieściliśmy flagę pozwalającą na pominięcie dysku w przypadku problemów – „nobootwait”, bo w przeciwnym wypadku system po prostu nie wstanie, wymuszając fizyczną interwencję w postaci np. „kliknięcia klawisza” pomijającego zamontowanie dysku, co w przypadku zdalnych serwerów kończy się na interwencji supportu).  czytaj całość

[wordpress] [Contact Form 7] multi level select

Pracując z formularzami na skrypcie WordPress, ciężko nie natchnąć się na wtyczkę „Contact Form 7” – wordpress.org/plugins/contact-form-7/

Pomimo rozbudowanych funkcjonaliści, niektórzy mogą odczuwać pewne braki w możliwościach formatowania pól formularza a w szczególności dodawaniu własnych pól, nie przewidzianych wcześniej przez autora wtyczki.

Jednym z takich przykładów może być wielo-poziomowy znacznik SELECT, więc lista rozwijana, gdzie użytkownik może wybierać dowolną pozycje, która automatycznie spowoduje załadowanie do kolejnego znacznika SELECT.

Przykładem takiego multi-level select jest wybór miasta, powiedzmy, że w naszym formularzu umieścimy pole SELECT z wyborem województwa a poniżej zablokowane pole w wyborem miasta. Dopiero po wyboru jakiegoś województwa, użytkownik dostanie dostęp do wyboru miasta, spośród wczytanej listy miast tylko z wybranego województwa.

DEMO: http://webowiec.net/blog/test-mmselect/
L
ICENCJA: MIT (darmowa, open-source)

Aktualizacja 9 kwietnia 2015
Wtyczka dostosowana do frameworka Bootstrap

  czytaj całość

Słowa kluczowe: blog webmasterski, webmaster porady, tworzenie stron www, wtyczki do stron www

Kurs css

  • Kurs CSS dla niecierpliwych [cz 1/2]

    Co to jest CSS, po co go używać, jak go używać.. CSS - stylizowanie różnych elementów HTML, inaczej mówiąc: wizualizowanie/nadawanie odpowiedniego wyglądu strony www. Zaczynając kurs…

  • Kurs CSS dla niecierpliwych [cz 2/2]

    Kontynuacja przyspieszonego kursu dla niecierpliwych. Część 1/2 - Kurs CSS dla niecierpliwych 1/2 Zakładam, że znasz lub zapoznałeś/aś się już wstępnie z podstawami HTML, wiesz do czego…