sobota, 31 marca 2012

Filmiki metodą na promocje witryny

W jaki sposób zyskać dodatkowy odnośnik do witryny internetowej i w jaki sposób jeszcze bardziej wypromować swoją witrynę w sieci? Tutaj właśnie chcę pokazać jak dobrze do tego celu wykorzystać tytułowy portal youtube. Bardzo często wyszukując konkretnej frazy dostajemy na pierwszej stronie wyników kilka wyników z filmami z portalu youtube najczęsciej. Bardzo często jeżeli szukam materiału to przełączam na wyszukiwarce google na zakładkę Filmy. Możemy wtedy znaleźć łatwo wyjaśnione niektóre trudne do zrozumienia schematy w formie prezentacji wideo.

Projektując stronę www dla klienta, zawsze rejestruję mu konto na serwisie You Tube aby w przyszłości mógł zamieszczać filmiki swoich produktów lub prezentację usług. Pozostawia to otwartą furtkę w przyszłości dla specjalistów SEO i pozycjonerów. Na profilu You Tube możemy zamieścić wtedy filmiki z prezentacją i w opisie umieścić linka do strony co przełoży się na dodatkowy link do Naszej strony. O PageRanku nic nie piszę gdyż wartość ta na przełomie ostatnich lat straciła pozycję wśród czynników odpowiedzialnych za pozycjonowanie strony w wyszukiwarkach ale nadal prawdopodobnie ma jakieś znaczenie. Oczywiście należy pamiętać, że aby link umieszczony w opisie filmu miał jakąś moc i został odnaleziony przez crawlery należy wideo udostępnić do publicznego wglądu. To by było na tyle na dzisiaj, w sumie nic ciekawego i same lanie wody i odkopany stary temat ale może komuś się przyda.

wtorek, 27 marca 2012

Dynamiczne generowanie formularzy na stronach www

Generowanie stron w locie oraz na żądanie to codzienność. Projektowanie stron internetowych bez dynamicznego generowania danych w dzisiejszych czasach by wyglądało tak jak kilkanaście lat temu. Każda strona musiała być w osobnym pliku html i zawierać z góry zdefiniowane treści i elementy stałe takie jak menu, stopki czy nagłówki a każda zmiana elementów stałych wiązała się z edycją kilkunastu plików. Wejście języka PHP i obsługa relacyjnych baz danych oraz możliwość dołączania plików w locie było rzeczą, która na zawsze zmieniła sieć i inernet. Powszechny stał się widok na stronie obszernych formularzy pobierających dane od użytkownika. Formularz mógł być z góry zdefiniowany przez programistę a następnie dołączany do określonej strony. W tej notce pokażę sztuczkę jak dynamicznie wygenerować formularz z inputami tekstowymi o określonej długości, nazwami pól ale umożliwiający jego późniejszą rozbudowę i minimalizację ilości kodu HTML lub PHP.
Standardowy kod formularza w HTML by wyglądał mniej więcej tak
<form name="testowy" action="POST lub GET" method="plikprzetwarzający">
<b>Imię</b><input type="text" name="Imie" value="" /><br />
<b>Nazwisko</b><input type="text" name="Nazwisko" value="" /><br />
<b>Pole3</b><input type="text" name="pole3" value="" /><br />
.
.
.
<b>Pole 100</b><input type="text" name="pole100" value="" /><br />
<b>Pole 101</b><input type="text" name="pole101" value="" /><br />
</form>
Formularz ten miałby 101 Pól input, i do każdego pola jest przypisana nazwa pola i opis pola i tak 103 linijki kodu(licząc z tagami form) i formularzyk taki byłby includowany w PHP. Jednak to nie niweluje problemu długości kodu. A można tak zrobić budowę stron www aby wykorzystać możliwości PHP i wygenerować sobie taki formularz dynamicznie niwelując rozmiar pliku. Poniżej kod do wygenerowania takiego formularza z inputami tekstowymi w PHP:

$opisy = array(”Imię”,”Nazwisko”,”Pole3”,....,”Pole100”,”Pole101”);
$inpname = array(”Imie”,”Nazwisko”,”pole3”,....,”pole100”,”pole101”);
echo ”<form name=\"testowy\" action=\"POST lub GET\" method=\"plikprzetwarzający\">”;
$licznik=count($opisy);
for($i=0;$i<$licznik;$i++)
{echo ”<b>”.$opisy[$i].”</b><input type=\"text\" name=\"”.$inpname[$i].”\" value=\"\" /><br />”;}
echo ”</form>”;

Długość pliku zawierająca tak dynamicznie wygenerowany formularz zawiera ledwie 7 linijek co w porównaniu z wersją HTML-ową 103 linijek robi różnicę. 7<103. Dodanie dodatkowego pola w formularzu to dopisanie dwóch dodatkowych zmiennych do tablicy, zmienne mamy w jednym miejscu. Oczywiście można przerobić sobie taki kod na funkcję lub klasę dzięki czemu będzeimy mogli go wykorzystać ponownie, dzięki czemu tworzenie strony internetowej i formularzy do niej zajmie tylko chwilę. Oczywiście możemy przeprogramować ten kod o obsługę dodatkowych typów pól, radio, hidden czy innych i stworzyć sobie własne szybkie funkcje i klasy do tworzenia formularzy.  

sobota, 17 marca 2012

Zabezpieczanie stron internetowych

Na fali ostatnich wydarzeń jakie miały miejsce w kraju czyli ataki na stronę KPRiM w związku z protestami ACTA przyjrzałem się bliżej zagadnieniu zabezpieczania stron internetowych. Natknąłem się na artykuł znajdujący się na stronie firmy zajmującej się projektowaniem stron internetowych . Przede wszystkim pierwsze co Mnie zaskoczyło to różnorodność możliwych technik ataku na stronę internetową. Ciemny charakter w takim przypadku ma multum możliwości zaatakowania strony, chciałbym zwrócić uwagę na jeszcze jedną często stosowaną technikę przez domorosłych i nieudolnych hakerów. Ostatnio miałem możliwość być potencjalną ofiarą takiego ataku jednak zabezpieczenia na serwerze na to nie pozwoliły. Haker atakował aplikacją server side napisaną za pomocą Curl i php. Jak działa taka aplikacja i jaka jest struktura oraz jak się dodatkowo zabezpieczyć budując stronę internetową? Celem ataku była próba dostania się do bazy danych. Agresor podejrzewał istnienie oddzielnego folderu dla phpmyadmina(oprogramowanie do zarządzania bazą danych SQL). W pliku tekstowym co linijka ma zapisane wszelkie możliwe nazwy folderów np:
/pma/index.php  /phpmyadmin/index.php  /pma-2.4-rc/index.php i tak dalej. Skrypt Curl po prostu przelatuje tą listę od początku do końca pliku, każdy adres dokleja do adresu naszej strony www. Curl pobiera Content w celu analizy, i jeżeli skrypt wyłapie słowo login to zapisuje ten adres bądź wyświetla jako trafienie. I wtedy Nasz agresor wie, że mamy PHP admina dostępnego z poziomu strony. Jest to dosyć częsty przypadek na serwerach współdzielonych lub resselerów. Po otrzymaniu informacji o istnieniu takiego adresu, agresor przystępuje do próby włamania atakiem słownikowym. Technikę taką również można stosować do wszelkiej maści wordpressów wpisując zamiast adresu pma /wp-admin /wp-login i etc i różne kombinacje. Po czym wykonujemy atak słownikowy. Jak się przed tym obronić?? Jeżeli mamy możliwość to koniecznie edycja .httaccess i dopisanie przekierowania po wpisaniu np adresu adresnaszejstrony.pl/pma/index.php skrypt zostanie przekierowany na stronę główną z powrotem. Jeżeli już instalujemy phpadmina to pamiętajmy o zmianie nazwy folderu na inną zamiast /pma dajmy /zdzichujeklopsy. Po takiej zmianie folderu możemy delikatnie wkurzyć agresorka :D tworzymy folder /pma na serwerze i plik index.php będzie to fałszywka. Umieszczamy w pole tekstowe z napisem login i zdjęcie trolla :D mina Naszego agresora powinna być bezcenna jeżeli z ciekawości zajrzy na tą stronę :D Po odkryciu próby ataku należy zabezpieczyć stronę dodatkowo i ustawić ignora na dany IP. To by było na tyle jeżeli chodzi o dodatkowe możliwości zabezpieczenia strony.