<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6458620484418485338</id><updated>2011-11-27T15:15:25.656-08:00</updated><category term='PHP'/><category term='Usability'/><category term='Raport'/><category term='SEM'/><category term='Proste rozwiązania'/><category term='Serwer WWW'/><category term='SEO'/><category term='offtopic'/><category term='Web 3.0'/><category term='Google Adwords'/><category term='wordpress'/><title type='text'>Porady dla programistów i pozycjonerów WWW</title><subtitle type='html'>Skrypty w PHP i JavaScript; porady dotyczące pozycjonowania; ciekawe linki i artykuły.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://skrypty-seo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-4080305002627121597</id><published>2008-02-27T03:41:00.000-08:00</published><updated>2008-02-27T09:22:52.021-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='SEO'/><title type='text'>Jak monitorować odwiedziny robotów?</title><content type='html'>Na forum &lt;a href="http://www.forum.optymalizacja.com/index.php?act=Print&amp;client=printer&amp;f=10&amp;t=16830"&gt;Pozycjonowanie i Optymalizacja&lt;/a&gt; znalazłem już dość dawno przydatny skrypt do monitorowania odwiedzin robotów indexujących zawartość witryn www. &lt;br /&gt;&lt;br /&gt;Instalacja jest banalnie prosta; należy tylko pamiętać o odpowiednich prawach dostępu do plików. Skrypt wyświetla odwiedziny trzech najbardziej pożądanych robotów: Googla, MSN i Yahoo. &lt;br /&gt;&lt;br /&gt;Bezpośredni link do pliku: &lt;a href="http://myth.org.ua/robots_counter.zip"&gt;http://myth.org.ua/robots_counter.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Efekt jest mniej więcej taki:&lt;BR&gt;&lt;br /&gt;&lt;img src ="http://lh5.google.com/marcin.chyla/R8WbMhqZ4BI/AAAAAAAABBo/9UQdHrRk75o/roboty.jpg"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Skrypt zastosowałem w moim &lt;a href="http://www.katalog.trans.info"&gt;katalogu stron www dla branży transportowej&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Należy tylko pamiętać, że odwiedziny robota nie oznaczają ponownego zaindeksowania zawartości witryny. Jeśli witryna nie wyda się dla robota atrakcyjna (wartościowa), to mimo odwiedzin nic się nie zmieni w wynikach wyszukiwania.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-4080305002627121597?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skrypty-seo.blogspot.com/feeds/4080305002627121597/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6458620484418485338&amp;postID=4080305002627121597&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/4080305002627121597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/4080305002627121597'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2008/02/jak-monitorowa-odwiedziny-robotw.html' title='Jak monitorować odwiedziny robotów?'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-3867111561208968794</id><published>2008-02-11T13:51:00.000-08:00</published><updated>2008-02-11T14:07:51.968-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Proste rozwiązania'/><title type='text'>Popularna galeria zdjęć Lightbox</title><content type='html'>Kontynuując temat darmowych, szybkich, prostych i profesjonalnych skryptów do prezentacji galerii zdjęć na witrynach www polecam przetestowanie &lt;a href="http://www.huddletogether.com/projects/lightbox/"&gt;galerii Lightbox&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Po kliknięciu w miniaturkę cała strona jest przysłaniana półprzeźroczystą, czarną powierzchnią, a na niej płynnie ukazuje się zdjęcie w eleganckiej ramce. Jeśli obrazek jest duży i trwa jego "doczytywanie" ukazuje się loader. &lt;br /&gt;&lt;br /&gt;W skrypcie &lt;a href="http://www.huddletogether.com/projects/lightbox2/"&gt;Lightbox JS v2.0&lt;/a&gt; dodano guziki nawigacyjne oraz możliwość dodania komentarza.&lt;br /&gt;&lt;br /&gt;Na podstawie tych skryptów powstał jeszcze &lt;a href="http://www.dolem.com/lytebox/"&gt;skrypt Lytebox&lt;/a&gt; posiadający funkcję "Slideshow".&lt;br /&gt;&lt;br /&gt;Instalacja powyższych skryptów jest banalnie prosta. Polega na wypakowaniu archiwum do odpowiedniego katalogu, załączeniu skryptów do dokumentu html (w sekcji HEAD) oraz odpowiednie spreparowanie znaczników linków i grafiki. &lt;br /&gt;&lt;br /&gt;Galerię Lightbox w wersji drugiej zastosowałem na jednej z moich ostatnich witryn. Strona jest poświęcona legnickiemu artyście malarzowi, fotografowi i pedagogowi, nieżyjącemu Bronisławowi Chyle. Strona jest dostępna pod adresem: &lt;a href="http://www.chyla.art.pl"&gt;www.chyla.art.pl&lt;/a&gt;. Chciałbym podziękować załodze obsługującej domeny art.pl. Rejestracja trwała niecałe dwa tygodnie.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-3867111561208968794?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skrypty-seo.blogspot.com/feeds/3867111561208968794/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6458620484418485338&amp;postID=3867111561208968794&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/3867111561208968794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/3867111561208968794'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2008/02/popularna-galeria-zdjc-lightbox.html' title='Popularna galeria zdjęć Lightbox'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-91147821710082088</id><published>2008-01-25T03:12:00.001-08:00</published><updated>2008-02-01T09:51:18.532-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Proste rozwiązania'/><title type='text'>FeedBurner</title><content type='html'>&lt;img border="0" src="http://www.feedburner.com/fb/i/logo_footer.gif" align="left" hspace="9" vspace="9"/&gt;Każdy, kto liczy się z bardzo częstymi aktualizacjami swojej strony oraz z powracającymi gośćmi, powinien bardzo dobrze zgłębić zagadnienie kanałów RSS. Nie wszyscy powracający userzy muszą ładować naszą stronę, aby zapoznać się z nowościami.&lt;br /&gt;&lt;br /&gt;Udostępnianie zawartości strony w kanałach RSS nie jest niczym nowym. Z kanałami RSS spotykamy się na każdej witrynie, która jest często aktualizowana. Każdy serwis informacyjny, a nawet blogi przeciętnych użytkowników udostępniają dane z formie RSS.&lt;br /&gt;&lt;br /&gt;Jak jednak sprawdzić ile osób skorzystało z naszego kanału informacyjnego? Jak wygenerować atrakcyjny gadżet obsługujący naszego feeda? Jak uprościć korzystanie z kanału naszemu użytkownikowi. W jaki inny sposób możemy wykorzystać kanał RSS?&lt;br /&gt;&lt;br /&gt;Skorzystać z bardzo popularnego serwisu &lt;a href="http://www.feedburner.com"&gt;FeedBurner&lt;/a&gt;. Na dzień dzisiejszy serwis obsługuje 750 tysięcy użytkowników dostarczając ponad 1.300.000 kanałów RSS. Serwis pozwala śledzić kanał informacyjny pod kontem odwiedzin i subskrypcji dostarczając praktycznych statystyk. Można dzięki niemu wygenerować bardzo praktyczne wigety popularyzujące nasz kanał (przykład to prawej stronie mojej witryny). &lt;br /&gt;&lt;br /&gt;Mnie osobiście urzekła łatwa integracja usług feedburnera z moim systemem blogowym, czyli googlowym &lt;a href="http://www.blogger.co"&gt;bloggerem&lt;/a&gt;, chociaż twórcy serwisu oferują też współpracę z MySpace czy Wordpress'em.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-91147821710082088?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/91147821710082088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/91147821710082088'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2008/01/feedburner.html' title='FeedBurner'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-8107618141807444432</id><published>2008-01-24T08:37:00.001-08:00</published><updated>2008-01-25T00:54:37.880-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SEO'/><title type='text'>Katalogowanie - czy to się ciągle opłaca?</title><content type='html'>Jeszcze rok, czy dwa lata temu dodawanie stron do katalogów WWW było podstawową metodą na wypromowanie i wypozycjonowanie danej witryny w wyszukiwarkach. Fora dyskusyjne wypełnione były listami dobrych, popularnych i wysoko wypozycjonowanych katalogów, na których warto było mieć link.&lt;br /&gt;&lt;br /&gt;Algorytmy wyszukiwarek jednak ulegają ciągłej ewolucji i popularność pozycjonowania poprzez katalogi skończyła się (a na pewno diametralnie zmalała). Przyczyniła się do tego zatrważająca ilość nowych katalogów WWW, które nie były należycie moderowane, a jednym celem ich istnienia było dostarczanie nowych linków.  Słowem przyczyną było "pójście w ilość, a nie w jakość".  Zapoznaj się z &lt;a href="http://googlewebmastercentral.blogspot.com/2007/03/site-content-and-use-of-web-catalogues.html"&gt;oficjalnym stanowiskiem Googla&lt;/a&gt; w tej sprawie; zobacz też ten artykuł: &lt;a href="http://www.belloisnadaje.pl/2007/04/co-google-zrobilo-katalogom-stron/"&gt;Co Google zrobiło katalogom stron&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr   width="100%" style="font-size:78%;color:silver;"&gt;&lt;br /&gt;&lt;br /&gt;Pozostaje więc pytanie, czy dodawanie witryn do katalogów ma jeszcze sens? Owszem, MA, lecz katalogi należy starannie wyselekcjonować. Zapoznajcie się zatem z poniższymi faktami:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;1)&lt;/span&gt; Ciągle istnieją katalogi, które są starannie moderowane. Zamieszczane są tam tylko wartościowe strony wraz z unikalnym opisem. Dość często te katalogi są pozycjonowane, aby linki w nich zawarte miały większą "moc".&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;2)&lt;/span&gt; Większość katalogów zbudowana jest za pomocą tego samego skryptu więc są one dość podobne i mają podobną strukturę. Warto jednak zwrócić uwagę na zawartość takich katalogów, metody moderowania; można też sprawdzić ich PageRank. W celu znalezienia odpowiednich katalogów można skorzystać ze spisu katalogów dostępnych w Internecie.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;3)&lt;/span&gt; Najważniejszym elementem jest to, czy wyszukiwarka (np. Google) w ogóle znalazła i zaindeksowała zawartość takiego katalogu. Ogromna część spisów została pozostawiona sama sobie i "nie wzbudziła zainteresowania robota indeksującego".&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;4)&lt;/span&gt; Warto zwrócić uwagę także na branżowe katalogi stron. Wpisy oscylują wokół wąskiej tematyki, przez co linki otoczone są interesującymi nas słowami kluczowymi. Zazwyczaj branżowe katalogi są staranniej moderowane.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;Zobacz artykuł dotyczący &lt;/span&gt;&lt;a style="color: rgb(204, 0, 0);" href="http://skrypty-seo.blogspot.com/2007/11/wartoci-linkw.html"&gt;wartości linków&lt;/a&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;5)&lt;/span&gt; Duża popularnością wśród wyszukiwarek cieszą się wciąż katalogi www dużych portali internetowych. Czasami wpis jest płatny, lecz w zamian otrzymujemy wartościowy link nie tylko z punktu widzenia wyszukiwarek, ale także ewentualnych klientów.&lt;br /&gt;&lt;br /&gt;Link w wartościowym katalogu stron www można wykorzystać  później publikując go w &lt;a href="http://www.ittechnology.us/katalogi-presell-pages/"&gt;katalogach typu presell&lt;/a&gt;, tworząc sieć wzajemnych powiązań miedzy witrynami , czyli podczas tworzenia zaplecza pozycjonerskiego.&lt;br /&gt;&lt;br /&gt;Dodawanie stron do katalogów wciąż znajduje się w ofertach firm pozycjonerskich. Niektórzy deklarują, że mają możliwość dodania unikalnych wpisów do tysięcy katalogów. Ostrożnie podchodziłbym do takiej informacji. Efektywniej byłoby znaleźć około 100 dobrych, zaindeksowanych katalogów i tam umieścić swoje wpisy. Dodawanie wpisów należy oczywiście rozłożyć w czasie - zdobycie 2 - 3 linków na kilka dni daje optymalne  efekty.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-8107618141807444432?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/8107618141807444432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/8107618141807444432'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2008/01/katalogowanie-czy-to-si-cigle-opaca.html' title='Katalogowanie - czy to się ciągle opłaca?'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-8372204602728339835</id><published>2008-01-17T01:07:00.001-08:00</published><updated>2008-01-19T13:06:07.715-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SEO'/><title type='text'>TwojaPozycja.pl - narzędzie dla pozycjonera</title><content type='html'>&lt;img src="http://www.twojapozycja.pl/_visual/_template/top_logo.gif" align="left" border="0" hspace="10" vspace="10" /&gt;Każdej "SEO-świadomej" osobie potrzebne są takie informacje jak Page Rank, czy ilość zaindeksowanych linków do danej domeny. Na co dzień, pozycjonerzy korzystają z wielu innych parametrów określających popularność witryny. Do tej pory te podstawowe parametry sprawdzałem za pomocą narzędzi udostępnionych na stronie &lt;a href="http://www.optymalizacja.com/"&gt;optymalizacja.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.twojapozycja.pl/index.php"&gt;TwojaPozycja.pl&lt;/a&gt; to serwis umożliwiający kontrolę nad podstawowymi parametrami witryny, które mają wpływ na pozycję w wyszukiwarkach. Po darmowej rejestracji użytkownik ma możliwość śledzenia PageRank'u, LinkPopularity, sprawdzania pozycji słów kluczowych. Istnieje też moduł do sprawdzania działań konkurencyjnych witryn.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-8372204602728339835?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/8372204602728339835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/8372204602728339835'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2008/01/twojapozycjapl-narzdzie-dla-pozycjonera.html' title='TwojaPozycja.pl - narzędzie dla pozycjonera'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-1521609705913927844</id><published>2008-01-07T09:13:00.000-08:00</published><updated>2008-01-07T09:38:20.466-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='SEO'/><title type='text'>Rozpowszechnij swojego bloga</title><content type='html'>Prowadzenie blogów i stron typu presell jest obecnie na szczytach popularności wśród internautów na całym świecie. Każdemu "blogerowi" zależy naturalnie na rozpopularyzowaniu jego miejsca w sieci (niezależnie czy chce zwrócić uwagę robotów sieciowych czy innych internautów). &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pingoblog.com/"&gt;&lt;span style="font-weight:bold;"&gt;Ping-O-Blog&lt;/span&gt;&lt;/a&gt; to prosta i szybka aplikacja, która umożliwia zgłoszenie swojego bloga do kilkunastu najpopularniejszych wyszukiwarkach blogów. Wśród nich są &lt;a href="http://blogsearch.google.com/"&gt;Googleblog Search&lt;/a&gt;, &lt;a href="http://www.weblogs.com/"&gt;Weblogs.com&lt;/a&gt;, czy &lt;a href="http://technorati.com/pop/blogs/"&gt;Technorati&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Do aplikacji wystarczy wprowadzić tytuł bloga, jego adres URL oraz zaznaczyć, które wyszukiwarki blogów mają być poinformowane o naszej witrynie.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-weight:bold;"&gt;Zobacz także:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Blogerom używającym Wordpressa polecam artykuł o &lt;a href="http://skrypty-seo.blogspot.com/2007/10/antyspam-plugin-dla-worppressa.html"&gt;antyspamowej wtyczce&lt;/a&gt; do ich bloga&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-1521609705913927844?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/1521609705913927844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/1521609705913927844'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2008/01/rozpowszechnij-swojego-bloga.html' title='Rozpowszechnij swojego bloga'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-4355589237538796830</id><published>2007-12-15T08:00:00.000-08:00</published><updated>2007-12-15T08:57:56.031-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Usability'/><title type='text'>Optymalizacja stron WWW</title><content type='html'>Co się stanie, jeśli użytkownik odwiedzi naszą witrynę lecz jego oczekiwania pod względem funkcjonalności nie zostaną zaspokojone? Konkurencja jest na tyle duża, że najprawdopodobniej odwiedzi inną stronę, a cała operacja zajmie parę sekund.&lt;br /&gt;&lt;br /&gt;Jeśli każemy użytkownikowi czekać zbyt długo na załadowanie strony, lub przynajmniej na przedstawienie podstawowych, zadowalających go zagadnień również możemy się z nim pożegnać (a także z zyskami jakie mogła przynieść jego wizyta). &lt;br /&gt;&lt;br /&gt;Nieocenieni, amerykańscy uczeni :-) obliczyli, że jeśli w przeciągu &lt;span style="font-weight:bold;"&gt;8 sekund&lt;/span&gt; użytkownik nie otrzyma z witryny żadnej odpowiedzi, zazwyczaj opuszcza ją bezpowrotnie. Aby poprawić czas ładownia naszej witryny należy podjąć szereg działań optymalizacyjnych. Podstawowe to:&lt;br /&gt;&lt;br /&gt;- optymalizacja (redukcja) elementów graficznych,&lt;br /&gt;- zmniejszenie rozmiaru plików HTML, CSS,&lt;br /&gt;- optymalizacja (przyśpieszenie) działania skryptów JS i PHP,&lt;br /&gt;- odchudzenie elementów multimedialnych (Flash),&lt;br /&gt;- optymalizacja i redukcja informacji nagłówkowych,&lt;br /&gt;- odpowiednia konfiguracja serwera WWW.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh6.google.com/marcin.chyla/R2QG69zCp5I/AAAAAAAAA7c/mc1rMvrTpKI/s144/ws.gif" hspace="4" vspace="2" border="0" align="left"&gt;Szybkość ładowania strony można sprawdzić za pomocą szeregu aplikacji internetowych. Zdecydowanie mogę polecić polskie narzędzie dostępne pod adresem: &lt;a href="http://www.watchscript.pl" target="_blank"&gt;www.watchscript.pl&lt;/a&gt;. Można dzięki niemu sprawdzić całkowity czas ładowania witryny, jak i każdego elementu z osobna. Dostępny jest też czas odpowiedzi serwera DNS, ilość pobranych danych i parę innych parametrów. Serwis dostarcza też inne usługi, takie jak ping, tracerout, czy whois.&lt;br /&gt;&lt;br /&gt;Wyżej wymienione działania optymalizacyjne są dość szczegółowo opisane w książce: &lt;a href="http://helion.pl/ksiazki/optyse.htm"&gt;"Zwiększ szybkość! Optymalizacja serwisów internetowych"&lt;/a&gt;, wydawnictwa &lt;a href="http://helion.pl" target="_blank"&gt;Helion&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-4355589237538796830?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/4355589237538796830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/4355589237538796830'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2007/12/optymalizacja-stron-www.html' title='Optymalizacja stron WWW'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-8988403445938037429</id><published>2007-12-11T13:47:00.000-08:00</published><updated>2007-12-11T14:06:37.991-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Proste rozwiązania'/><title type='text'>Navicat for MySQL</title><content type='html'>Cholernie irytująca jest walka z jakimś problemem, nie wiedząc że istnieje odpowiednie oprogramowanie, które rozwiązuje nasz problem w kilka chwil. Miałem ten problem z przenoszeniem baz danych MySQL między dwoma serwerami. Notorycznie natrafiałem na problemy z kodowaniem znaków.&lt;br /&gt;&lt;br /&gt;Z pomocą przyszło oprogramowanie &lt;a href="http://www.navicat.pl/index.html"&gt;Navicat for MySQL&lt;/a&gt; czyli doskonały kombajn służący do zarządzania MySQL'owymi bazami danych. Szczerze zachęcam do &lt;A HREF="http://www.navicat.pl/download.html"&gt;pobrania Navicata&lt;/A&gt; i darmowego testowania wszystkich funkcji przez 30 dni. &lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://www.navicat.com/images/logo_2.bmp" /&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-8988403445938037429?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/8988403445938037429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/8988403445938037429'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2007/12/navicat-for-mysql.html' title='Navicat for MySQL'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-3165172851229984712</id><published>2007-11-27T15:18:00.000-08:00</published><updated>2007-11-28T08:27:47.141-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SEO'/><category scheme='http://www.blogger.com/atom/ns#' term='SEM'/><title type='text'>Wartości linków</title><content type='html'>Sekretem efektywnego pozycjonowania witryn www jest zdobycie odpowiedniej ilości wartościowych linków, oraz zapewnienie odbiorcy wartościowego contentu. Atrakcyjna zawartość witryn w naturalny sposób spowoduje popularność Twojej witryny, co ma coraz większy wpływ na jej ocenę przez wyszukiwarki (niektórzy twierdzą, że większy niż PageRank).&lt;br /&gt;&lt;br /&gt;W sieci, na blogach oraz forach dot. pozycjonowania znaleźć można listę miejsc, na których powinny znaleźć się linki do naszej strony WWW. Jak powszechnie wiadomo, jeden link nie jest równy innemu, chociażby ze względu na wspominany wcześniej PR, czy "moc" strony, z której pochodzi owy link.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold; color: rgb(153, 0, 0); "&gt;Oto lista miejsc posegregowana względem wartości:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Nr 1:&lt;/span&gt;&lt;br /&gt;Naturalny (czyli nie wykupiony), jednostronny link ze strony o wysokiej ocenie przez wyszukiwarki. W anchor text linku znajduje się słowo kluczowe. Treść serwisu jest zbieżna z naszą stroną - zawiera podobne słowa i frazy kluczowe.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 51);"&gt;Wniosek: warto mieć tekstowy link na wysoko wypozycjonowanym serwisie o podobnej tematyce.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Nr 2:&lt;/span&gt;&lt;br /&gt;Naturalny, jednostronny link z serwisu o wysokim rankingu w wyszukiwarkach, umieszczony w treści. Treść serwisu zawiera interesujące na słowa oraz frazy kluczowe. &lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 51);"&gt;Wniosek: Jeśli trafimy na dobry serwis o podobnej tematyce to wartościowy jest każdy rodzaj linku kierujący na naszą witrynę.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Nr 3:&lt;/span&gt;&lt;br /&gt;Tak jak w punkcie nr 1, tylko serwis nie posiada interesujących nas słów kluczowych - czyli wysoko oceniany przez wyszukiwarki serwis, ale o innej tematyce niż nasza strona.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Nr 4:&lt;/span&gt;&lt;br /&gt;Tak jak w punkcie nr 2, tylko sewris nie posiada interesujących nas słów kluczowych.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 51);"&gt;Wniosek: każdy rodzaj linku z dobrego, wysokoocenianego serwisu stanowi w pozycjonowaniu dużą wartość.&lt;/span&gt;  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Nr 5:&lt;/span&gt;&lt;br /&gt;Link reklamowy (czytaj: wykupiony), w wysokoocenianym serwisie. Link jest otoczony odpowiednią treścią (słowami, frazami kluczowymi).&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 51);"&gt;Wniosek: jest to kosztowne, ale umieszczenie odpowiedniej notatki prasowej w dobrym serwisie oprócz korzyści PR'owych i marketingowych podnosi wartość naszej witryny w "oczach" wyszukiwarek.&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Nr 6:&lt;/span&gt;&lt;br /&gt;Link na podstronie serwisu typu presell page.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 51);"&gt;Wyjaśnienie: Presell page - to serwis stworzony specjalnie do celów pozycjonowania. Umieszczane tam teksty i linki są odpowiednio spreparowane dla wyszukiwarek. Jest to teraz bardzo popularna metoda pozycjonowania witryn; serwisy te są najczęściej oparte na skrypcie blogowym Wordpresie.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Nr 7:&lt;/span&gt;&lt;br /&gt;Link reklamowy ze słowem kluczowym w wysoce rankingowanym serwisie.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Nr 8:&lt;/span&gt;&lt;br /&gt;Jednostronny link ze słowem kluczowym w anchor text, z serwisu nisko rankingowanego, ale o podobnej tematyce.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 51);"&gt;Wyjaśnienie: Jednostronny link czyli link niezwrotny. Często można się spotkać z propozycją wzajemnego linkowania. Linkowanie A--&gt;B i B--&gt;A jest małowartościowe. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Nr 9:&lt;/span&gt;&lt;br /&gt;Jednostronny link z nazwą domeny w anchor text z serwisu o wysokim rankingu wsród wyszukiwarek.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Nr 10:&lt;/span&gt;&lt;br /&gt;Jednostronny link ze słowem kluczowym w anchor text z serwisu niepowiązanego tematycznie o średniej cenie wśród wyszukiwarek.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Nr 11:&lt;/span&gt;&lt;br /&gt;Jednostronny link z adresem domeny w anchor text z serwisu niepowiązanego tematycznie o średniej cenie wśród wyszukiwarek.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Nr 12:&lt;/span&gt;&lt;br /&gt;Link ze słowem kluczowym umieszczony w tekście na stronie z linkami.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Nr 13:&lt;/span&gt;&lt;br /&gt;Link umieszczony na stronie z linkami w formie Tytuł / Opis strony&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 51);"&gt;Wniosek: Punkt 12 i 13 mówi o popularnych katalogach stron www, z tą różnicą że, katalog z punktu 12 posiada bogaty opis serwisu.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Nr 14:&lt;/span&gt;&lt;br /&gt;Link w stopkach / sygnaturach / opisach na forach dyskusyjnych.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Nr 15:&lt;/span&gt;&lt;br /&gt;Link zwrotny na stronie z linkami.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 51);"&gt;Wniosek: linkowanie typu A --&gt; B , B --&gt;A, jest małowartościowe. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Nr 16:&lt;/span&gt;&lt;br /&gt;Link rotacyjny z systemów wymiany linków.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 51);"&gt;Wniosek: Systemy wymiany linków nie są już dobrym sposobem na pozycjonowanie. Ich podstawowe wady to brak powiązania między linkiem a zawartością strony, tymczasowość publikacji linku oraz brak kontroli dokąd linkujemy (może linkujemy do spamerskiej strony - tzw. bad neighbourhood)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Nr 17:&lt;/span&gt;&lt;br /&gt;Link pochodzący z komentarza wpisanego w blogu.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-3165172851229984712?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skrypty-seo.blogspot.com/feeds/3165172851229984712/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6458620484418485338&amp;postID=3165172851229984712&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/3165172851229984712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/3165172851229984712'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2007/11/wartoci-linkw.html' title='Wartości linków'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-5186305341398049926</id><published>2007-10-31T11:07:00.000-07:00</published><updated>2007-10-31T11:21:41.016-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='offtopic'/><title type='text'>Darmowe ikony do aplikacji</title><content type='html'>&lt;Br&gt;Ostatnio, programując panel zarządzania aplikacją webową, poszukiwałem zbioru profesjonalnych i darmowych ikon. Ogromny ich zbiór znalazłem na stronie &lt;a href="http://www.iconfinder.net/" target="_blank"&gt;Icon Search Engine&lt;/a&gt;. Dzięki sprytnej wyszukiwarce można tam natrafić na tysiące ikon w formacie PNG, o rożnych rozmiarach (od 12x12px do 128x128 px) gotowych do użycia na stronach www itp. Wszystkie ikony udostępnione są na zasadach GPL, LGPL i Creative Commons. &lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;img src="http://iconfinder.files.wordpress.com/2007/08/3dlogo2.jpg"&gt;&lt;br /&gt;Zobacz też: &lt;a href="http://www.iconfinder.net/blog/"&gt;Iconfinder blog&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-5186305341398049926?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skrypty-seo.blogspot.com/feeds/5186305341398049926/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6458620484418485338&amp;postID=5186305341398049926&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/5186305341398049926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/5186305341398049926'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2007/10/darmowe-ikony-do-aplikacji.html' title='Darmowe ikony do aplikacji'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-9031240665172991106</id><published>2007-10-29T04:40:00.000-07:00</published><updated>2007-10-29T04:46:17.587-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Adwords'/><category scheme='http://www.blogger.com/atom/ns#' term='SEM'/><title type='text'>Efektywne reklamy Google AdWords</title><content type='html'>Znalazłem interesujący artykuł dotyczący optymalizacji treści reklamowych "AdWords-owych". Artykuł dotyczy głównie tekstów, które się wyświetlają w reklamach, lecz na tej stronie są też artykuły traktujące to zagadnienie o wiele szerzej.&lt;br /&gt;&lt;br /&gt;Słowem polecam tego bloga: &lt;a href="http://www.ittechnology.us/11-efektywnych-typow-tekstow-reklamowych-adwords/"&gt;Marketing w Intrenecie&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-9031240665172991106?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skrypty-seo.blogspot.com/feeds/9031240665172991106/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6458620484418485338&amp;postID=9031240665172991106&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/9031240665172991106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/9031240665172991106'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2007/10/efektywne-reklamy-google-adwords.html' title='Efektywne reklamy Google AdWords'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-7061795050114018364</id><published>2007-10-08T07:53:00.000-07:00</published><updated>2007-10-08T08:04:07.327-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><title type='text'>Antyspam plugin dla Worppress'a</title><content type='html'>Link, który przyda się wszystkim blogerom oraz pozycjonerom, którzy blogują lub pozycjonują swoje witryny za pomocą popularnego systemu &lt;a href="http://wordpress-polska.org" target="_blank"&gt;Wordpress&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Na stronie &lt;a href="http://akismet.com/" target="_blank"&gt;akismet.com&lt;/a&gt; można znaleźć plugin do Wordpressa, który powstrzymuje ataki na blogi przez automaty spamujące. Jak zapewniają autorzy, 92% wszystkich komentarzy to spam, więc chyba warto spróbować, zwłaszcza że instalacja jest bardzo prosta.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-7061795050114018364?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skrypty-seo.blogspot.com/feeds/7061795050114018364/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6458620484418485338&amp;postID=7061795050114018364&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/7061795050114018364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/7061795050114018364'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2007/10/antyspam-plugin-dla-worppressa.html' title='Antyspam plugin dla Worppress&apos;a'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-4794163438764403955</id><published>2007-10-04T03:43:00.000-07:00</published><updated>2007-10-04T03:49:01.607-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='offtopic'/><title type='text'>Sun ODF Plugin</title><content type='html'>Firma Sun wypuściła plugin umożliwiający otwieranie plików *.odt (dokumentów tekstowych Open Offica) w MS Wordzie. Wtyczka przeznaczona jest dla MS Office 2003.&lt;br /&gt;&lt;br /&gt;Link: &lt;a href="http://www.sun.com/software/star/odf_plugin/get.jsp"&gt;Download Sun ODF Plugin 1.1 for Microsoft Office&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-4794163438764403955?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skrypty-seo.blogspot.com/feeds/4794163438764403955/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6458620484418485338&amp;postID=4794163438764403955&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/4794163438764403955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/4794163438764403955'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2007/10/sun-odf-plugin.html' title='Sun ODF Plugin'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-4860016921015321060</id><published>2007-09-27T00:39:00.000-07:00</published><updated>2007-10-15T05:10:05.026-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Proste rozwiązania'/><title type='text'>Szybka galeria zdjęć na WWW</title><content type='html'>Potrzebowałem w ekspresowym tempie stworzyć galerię zdjęć na stronę &lt;a href="http://www.legnica.1241.pl/" target="_blank"&gt;Legnica 1241&lt;/a&gt;. Skrypt do obsługi galerii miał sam generować miniatury i umożliwiać łatwą nawigację. Ponad to nie chciałem angażować do tego bazy danych.&lt;br /&gt;&lt;br /&gt;Użyłem zatem darmowego skryptu &lt;a href="http://www.hotscripts.pl/produkt-1917.html" target="_blank"&gt;PHPG&lt;/a&gt; pobranego ze strony Hotscripts.pl. Pobrane archiwum należy rozpakować do wybranego miejsca na serwerze, a do katalogu "jpgs" skopiować zdjęcia które chcemy wyświetlić. Należy też nadać katalogom odpowiednie prawa dostępu i w zasadzie to tyle. Ci, którzy choć trochę znają HTML'a czy PHP'a powinni pogrzebać trochę w pliku index.php. Można tam dopasować parametry galerii. &lt;br /&gt;&lt;br /&gt;Drugim problemem była masowa i szybka obróbka zdjęć. Użyłem do tego rewelacyjnego, darmowego kombajnu graficznego &lt;a href="http://www.download.net.pl/224/XnView/" target="_blank"&gt;xnview&lt;/a&gt;. Program w przeciągu kilku minut obrobił (przeskalował, zmienił rozdzielczość i tryb grafiki) około 100 zdjęć dość wysokiej jakości. Serdecznie polecam ten soft!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-4860016921015321060?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skrypty-seo.blogspot.com/feeds/4860016921015321060/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6458620484418485338&amp;postID=4860016921015321060&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/4860016921015321060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/4860016921015321060'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2007/09/szybka-galeria-zdj-na-www.html' title='Szybka galeria zdjęć na WWW'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-7231595362814872826</id><published>2007-09-12T06:48:00.000-07:00</published><updated>2007-09-12T07:08:43.699-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Serwer WWW'/><title type='text'>.htaccess (2) - dokumenty błędów</title><content type='html'>W przypadku, gdy użytkownik poda nieodpowiednie hasło przeglądarka wyświetli standardowy komunikat serwera WWW (tzw. błąd 401 - czyli wymagana autoryzacja). Istnieją jeszcze inne "patologiczne" przypadki, kiedy serwer w odpowiedzi, zwróci domyślną stronę z ostrzegającą informacją.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Najczęściej są to:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;+ Wymagana autoryzacja - błąd 401&lt;br /&gt;+ Dostęp zabroniony - błąd 403&lt;br /&gt;+ Plik nie istnieje - błąd 404&lt;br /&gt;+ Wewnętrzny błąd serwera - błąd 500&lt;br /&gt;&lt;br /&gt;Za pomocą pliku .htaccess można określić jaka strona ma zostać wyświetlona w przypadku wystąpienia jednego z powyższych błędów. Moim zdaniem lepiej wygląda własna "strona błędu" niż standardowa, wyświetlona przez serwer. Na takiej stronie możemy bardziej "personalnie" przeprosić użytkownika za problem, lub podać adres @ pod jaki można skontaktować się z adminem witryny czy systemu.&lt;br /&gt;&lt;br /&gt;Aby wymienić standardowe strony błędów należy w pliku .htaccess użyć następujących komend:&lt;br /&gt;&lt;span style="font: 11px Courier; color: #990000;"&gt;&lt;br /&gt;ErrorDocument 401 /podaj_haslo.html &lt;br /&gt;ErrorDocument 403 /brak_dostepu.html &lt;br /&gt;ErrorDocument 404 /nie_istnieje.html &lt;br /&gt;ErrorDocument 500 /error.html &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Istnieje jeszcze dość popularna metoda, że w przypadku wystąpienia błędu można użytkownika "przekierować" na jakąś konkretną stronę (np główną lub do działu kontaku). Aby tego dokonać należy w .htaccess wpisać:&lt;br /&gt;&lt;span style="font: 11px Courier; color: #990000;"&gt;&lt;br /&gt;ErrorDocument 404 http://www.moja_strona.pl/&lt;br /&gt;&lt;span style="font: 11px Courier; color: #990000;"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-7231595362814872826?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skrypty-seo.blogspot.com/feeds/7231595362814872826/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6458620484418485338&amp;postID=7231595362814872826&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/7231595362814872826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/7231595362814872826'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2007/09/htaccess-2-dokumenty-bdw.html' title='.htaccess (2) - dokumenty błędów'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-7680089579517734683</id><published>2007-09-03T14:05:00.000-07:00</published><updated>2007-09-03T14:36:03.687-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Serwer WWW'/><title type='text'>.htaccess (1) - ograniczanie dostępu do zbiorów</title><content type='html'>Dla tych, którzy nie korzystają z pliku .htaccess, lub mają za mało informacji przygotowałem niniejszy artykuł. Ten zwykły plik tekstowy dostarcza kilku bardzo przydatnych funkcji dla każdego webmastera. Podstawową i najczęściej wykorzystywaną funkcją jest ograniczenie dostępu do niektórych zasobów na stronach WWW. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1. Podstawy .htaccess&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Funkcje pliku .htaccess są przeznaczone dla bardzo popularnego serwera stron WWW – Apache. Przed użyciem należy sprawdzić w pliku konfiguracyjnym httpd.conf czy obsługa tego pliku jest dostępna. Jest to plik tekstowy, a jego funkcje działają dla katalogu (ewentualnie dla katalogów podrzędnych), w którym został umieszczony. Prawa dostępu do tego pliku powinny być na poziomie 644. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2. Ograniczanie dostępu do zasobów.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Najpopularniejszą funkcją .htaccess, jak pisałem powyżej, jest ograniczenie dostępu do odpowiednich zbiorów. Dostęp uzyskają tylko osoby znające login i hasło. Przechowuje się je w specjalnie sporządzonym pliku tekstowym: .htpasswd, a hasło jest zakodowane algorytmem MD5. &lt;br /&gt;&lt;br /&gt;Plik .htpasswd ma następującą postać:&lt;br /&gt;&lt;span style="font: 11px Courier; color: #990000;"&gt;&lt;br /&gt;adam:YWg8C/NodISzo&lt;br /&gt;ewa:ZX48N1SqvSV1g&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Do wygenerowania tego pliku proponuję użyć tego &lt;a target="_blank" href="http://www.htaccesstools.com/htpasswd-generator/"&gt;generatora .htpasswd&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Najprostszy plik .htaccess mam następującą postać:&lt;br /&gt;&lt;span style="font: 11px Courier; color: #990000;"&gt;&lt;br /&gt;AuthName "Dostep ograniczony – podaj haslo" &lt;br /&gt;AuthType Basic &lt;br /&gt;AuthUserFile /pass/.htpasswd &lt;br /&gt;AuthGroupFile /dev/null &lt;br /&gt;require valid-user  &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Pierwsza linijka zawiera tekst, który wyświetli się wraz z oknem do wpisania loginu i hasła. Trzecia linijka zawiera dokładną ścieżkę dostępu do pliku .htpasswd, czyli pliku z hasłami. Piąta linijka określa, ochronę całego katalogu, gdyż można także określić ochronę dla danego pliku. &lt;br /&gt;&lt;br /&gt;Jeśli są problemy z dokładnym określeniem ścieżki dostępu proponuję zastosować prosty skrypt PHP z funkcją &lt;a target="_blank" href="http://pl.php.net/get_cwd"&gt;getcwd()&lt;/a&gt;.&lt;br /&gt;&lt;span style="font: 11px Courier; color: #006633;"&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;echo getcwd();&lt;br /&gt;?&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;.htaccess umożliwia także zablokowanie dostępu dla użytkowników posługujących się określonym adresem IP lub określoną domeną. Służą do tego następujące komendy:&lt;br /&gt;&lt;span style="font: 11px Courier; color: #990000;"&gt;&lt;br /&gt;order allow,deny  &lt;br /&gt;deny from 98.765.43.21  &lt;--- ogranicz dostęp dla tego IP&lt;br /&gt;allow from all          &lt;--- nadaj dostęp dla innych adresów&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;lub w przypadku domen:&lt;br /&gt;&lt;span style="font: 11px Courier; color: #990000;"&gt;&lt;br /&gt;order allow,deny &lt;br /&gt;deny from pwr.wroc.pl &lt;br /&gt;allow from all&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Możemy od razu ograniczyć dostęp dla wielu adresów IP:&lt;br /&gt;&lt;span style="font: 11px Courier; color: #990000;"&gt;&lt;br /&gt;order allow,deny  &lt;br /&gt;deny from 98.765.43.21&lt;br /&gt;deny from 12.556.56.87&lt;br /&gt;deny from 45.588.12.89&lt;br /&gt;allow from all    &lt;br /&gt;&lt;/span&gt;   &lt;br /&gt;lub zablokować dostęp dla całej klasy adresowej 98.765.43, czyli od 1 do 255:&lt;br /&gt;&lt;br /&gt;&lt;span style="font: 11px Courier; color: #990000;"&gt;&lt;br /&gt;order allow,deny  &lt;br /&gt;deny from 98.765.43&lt;br /&gt;allow from all&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Najefektywniejsze jednak moim zdaniem jest takie zastosowanie pliku .htaccess:&lt;br /&gt;&lt;span style="font: 11px Courier; color: #990000;"&gt;&lt;br /&gt;order deny,allow&lt;br /&gt;deny from all&lt;br /&gt;allow from 23.78.123.104&lt;br /&gt;satisfy any&lt;br /&gt;AuthName "tryb admina – podaj haslo"&lt;br /&gt;AuthType Basic&lt;br /&gt;AuthUserFile /usr/home/www/moja_strona/pass/.htpasswd&lt;br /&gt;AuthGroupFile /dev/null&lt;br /&gt;require valid-user&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Czyli: udostępnij zbiory dla użytkowników adresu 23.78.123.104, a od pozostałych zażądaj loginu i hasła pochodzącego z pliku .htpasswd z katalogu /usr/home/www/moja_strona/pass/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-7680089579517734683?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skrypty-seo.blogspot.com/feeds/7680089579517734683/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6458620484418485338&amp;postID=7680089579517734683&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/7680089579517734683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/7680089579517734683'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2007/09/htaccess-1-ograniczanie-dostpu-do.html' title='.htaccess (1) - ograniczanie dostępu do zbiorów'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-4479279421173918613</id><published>2007-08-30T23:08:00.000-07:00</published><updated>2007-08-30T14:36:53.593-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>Wysyłka maili za pomocą funkcji mail()</title><content type='html'>Bardzo często na stronach WWW w działach poświęconych „kontaktom”, zamiast, lub obok zwyczajowych danych kontaktowych zamieszczane są formularze, które umożliwiają wysłanie prostej wiadomości e-mailowej. &lt;br /&gt;&lt;br /&gt;Jedną z podstawowych funkcji służących do wysyłki wiadomości jest &lt;a href="http://www.php.net/manual/pl/function.mail.php" target="_blank"&gt;funkcja mail()&lt;/a&gt;.Warto wcześniej jednak skonsultować się z administratorem serwera czy jest ona dostępna.&lt;br /&gt;&lt;br /&gt;Budowa i oprogramowanie formularza pocztowego jest dość proste. Najczęściej składają się on z kilku podstawowych pól typu INPUT, pozwalających wpisać dane nadawcy, adres e-mail czy tematu korespondencji. Do wpisania wiadomości zazwyczaj stosuje się pole typu TEXTAREA. &lt;br /&gt;&lt;br /&gt;Po wypełnieniu formularza i kliknięciu przycisku typu SUBMIT dane za pomocą metody POST przekazywane są z formularza do skryptu przygotowującego i wysyłającego wiadomość. Ważne bardzo jest odpowiednie przygotowanie danych przed wysyłką.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1) Odebranie danych z formularza:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;W deklaracji formularza do przekazywania danych używa się zazwyczaj metody POST, gdyż jest bezpieczniejsza od GET. W metodzie GET dane są przekazywane poprzez adres URL i oddzielone są one znakiem „&amp;” więc łatwo je podglądnąć, zmodyfikować, czy wykorzystać. Dane z formularza odbieramy więc za pomocą następujących poleceń:&lt;br /&gt;&lt;br /&gt;&lt;span style="font: 11px Courier; color: #006633;"&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;$nadawca  = $_POST["nadawca"];&lt;br /&gt;$moj_mail = $_POST["moj_mail"];&lt;br /&gt;$temat = $_POST["temat"];&lt;br /&gt;$wiadomosc = $_POST["wiadomosc"];&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2) „Obróbka” danych&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Dane z formularza zaraz po odebraniu należy wstępnie „obrobić”, aby uniknąć przykrych niespodzianek. &lt;br /&gt;&lt;br /&gt;Przede wszystkim dla każdej zmiennej, która jest wprowadzana przez użytkownika, należy użyć funkcji „htmlspecialchars”.&lt;br /&gt;&lt;br /&gt;&lt;span style="font: 11px Courier; color: #006633;"&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;$nadawca  = htmlspecialchars ($nadawca);&lt;br /&gt;$moj_mail = htmlspecialchars ($moj_mail);&lt;br /&gt;$temat = htmlspecialchars ($temat);&lt;br /&gt;$wiadomosc = htmlspecialchars ($wiadomosc);&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Spowoduje ona, że wybrane znaki wprowadzone do formularza, zostaną zamienione na tzw. encje, dzięki czemu nie będą interpretowane przez przeglądarkę (więc jakiś złośliwy wpis nie spowoduje „uszkodzenia” naszej witryny).&lt;br /&gt;&lt;br /&gt;Jeśli dane te zapisywane są do bazy danych koniecznie należy zastosować funkcję „mysql_escape_string”. Jej zadaniem jest modyfikacja znaków, tak aby bezpiecznym było &lt;br /&gt;umieszczenie ich w mysql_query(). &lt;br /&gt;&lt;span style="font: 11px Courier; color: #006633;"&gt;&lt;br /&gt;$wiadomosc = mysql_escape_string($wiadomosc);&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Dodatkowo, przydałoby się także sprawdzić, czy pola formularzy zostały w ogóle wypełnione, czyli np. sprawdzić czy długość wartości z pól formularzy jest dłuższa od zera znaków (funkcja „strlen” ). Zawartość pola z adresem e-mail można sprawdzić za pomocą wyrażenia regularnego (czyli sprawdzić czy ciąg znaków zawiera w odpowiednich miejscach znak @ i kropki).&lt;br /&gt;&lt;br /&gt;Proponuję też zastosowanie tego &lt;a target="_blank" href="http://skrypty-seo.blogspot.com/2007/08/zabezpiecz-formularz-przed-spamem.html"&gt;skryptu do ochrony formularza przed robotami spamującymi&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;3. Wysyłka wiadomości za pomocą mail()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Kiedy już jesteśmy pewni, że posiadamy komplet bezpiecznych danych możemy zabrać się za wysyłkę. &lt;br /&gt;&lt;br /&gt;Miałem za zadanie wysłanie danych w kodowaniu UTF-8 gdyż formularz był umieszczony na wielojęzycznej witrynie, więc do formularza mogły trafić teksty np. napisane w cyrylicy.&lt;br /&gt;&lt;br /&gt;Zastosowałem więc następujące operacje:&lt;br /&gt;&lt;span style="font: 11px Courier; color: #006633;"&gt;&lt;br /&gt;$naglowki = "From: $nadawca\r\nReply-To: $nadawca\r\nContent-type: text/plain; charset=utf-8;Content-Transfer-Encoding: 8bit\r\n";&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Tak sporządzony nagłówek wiadomości powodował odpowiednie kodowanie jak i odpowiednie wyświetlenie adresu e-mail nadawcy (także w przypadku wybrania opcji „odpowiedz”).&lt;br /&gt;&lt;br /&gt;Wysłanie wiadomości e-mail odbywa się za pomocą takiego polecenia:&lt;br /&gt;&lt;span style="font: 11px Courier; color: #006633;"&gt;&lt;br /&gt;mail("$odbiorca", "=?UTF-8?B?".base64_encode("$temat")."?=", "$wiadomosc", "$naglowki");&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Powyższy zapis gwarantuje odpowiednie kodowanie także tematu wiadomości.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-4479279421173918613?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skrypty-seo.blogspot.com/feeds/4479279421173918613/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6458620484418485338&amp;postID=4479279421173918613&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/4479279421173918613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/4479279421173918613'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2007/08/wysyka-maili-za-pomoc-funkcji-mail.html' title='Wysyłka maili za pomocą funkcji mail()'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-4222921850538612737</id><published>2007-08-23T19:00:00.000-07:00</published><updated>2008-01-08T01:38:10.731-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>Zabezpiecz formularz przed spamem</title><content type='html'>W sieci krążą roboty spamowe, które wykorzystują niezabezpieczone formularze, księgi gości i fora, aby rozsyłać niepożądane treści i reklamy. Roboty nie potrzebują pól INPUT w formularzach, wystarczy że zeskanują i pobiorą ich nazwy, a następnie wygenerują odpowiednie wartości i wyślą je do skryptu za pomocą metody GET lub POST.  Skutki działania takich robotów są bardzo nieprzyjemne.&lt;br /&gt;&lt;br /&gt;Istnieje jednak bardzo prosta i skuteczna metoda zabezpieczenia formularzy przed robotami. Wykorzystamy fakt, że znakomita większość robotów sieciowych nie interpretuje JavaScript.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Część pierwsza: modyfikacja formularza.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font: 11px Courier; color: #006633;"&gt;&lt;br /&gt;&amp;lt;form action="wyslij_mail.php" method="get" onsubmit="return usunspam(this)"&amp;gt;&lt;br /&gt;&amp;lt;type="hidden" name="spam" value="1" /&amp;gt;&lt;br /&gt;&amp;lt;input type="text" name="adres_mail" /&amp;gt;&lt;br /&gt;&amp;lt;input type="submit" value="wyslij" /&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt; &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Nic szczególnego w tym formularzu nie ma oprócz ukrytego (type="hidden") pola typu INPUT. Atrybut HIDDEN powoduje, że pole to nie jest widoczne, lecz możemy operować na wartościach jakie w nich są przechowywane (w tym przypadku wartość pola = 1).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Część druga: skrypt usunspam&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font: 11px Courier; color: #006633;"&gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;&amp;lt;!-- &amp;lt;![CDATA[&lt;br /&gt;function usunspam(t) {&lt;br /&gt;  t.spam.value=2;&lt;br /&gt;  return true;&lt;br /&gt;}&lt;br /&gt;// ]]&amp;gt; --&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Funkcja ta zmienia wartość zmiennej spam z 1 na 2. Wartość ta pochodzi z ukrytego pola input, o którym powyżej pisałem. Skrypt ten należy wstawić gdziekolwiek między znacznikami &amp;lt;BODY&amp;gt;&amp;lt;/BODY&amp;gt;. Roboty spamujące nie interpretując Java Script nie powodują zmiany wartości zmiennej "spam".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Część trzecia: odbieranie danych z formy i wysyłanie maila.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Metoda jest już dziecinnie prosta: jeśli wypełniono pole INPUT, a wartość zmiennej SPAM = 2 wykonaj pozostałe funkcje, np.: wyślij maila. &lt;br /&gt;&lt;br /&gt;&lt;span style="font: 11px Courier; color: #006633;"&gt;&lt;br /&gt;&amp;lt;?&lt;br /&gt;if (($_GET["adres_mail"]&amp;lt;&amp;gt;"" &amp;&amp; ($_GET["spam"]==2)) {&lt;br /&gt;      mail($mail, $temat, $wiadomosc);&lt;br /&gt;  } else {&lt;br /&gt;    echo("Nie mogę wykonać zadania");&lt;br /&gt;  }&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #990000;"&gt;&lt;span style="font-weight:bold;"&gt;Zobacz także:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Dobry artykuł opisujące najbardziej &lt;a href="http://www.kocjan.net/publikacje.html?id=8"&gt;popularne metody spamowania&lt;/a&gt; oraz metody walki ze spamem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-4222921850538612737?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skrypty-seo.blogspot.com/feeds/4222921850538612737/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6458620484418485338&amp;postID=4222921850538612737&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/4222921850538612737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/4222921850538612737'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2007/08/zabezpiecz-formularz-przed-spamem.html' title='Zabezpiecz formularz przed spamem'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-8775191817619698250</id><published>2007-08-22T08:21:00.001-07:00</published><updated>2007-08-31T08:36:45.891-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web 3.0'/><title type='text'>Web 3.0 – Internet semantyczny</title><content type='html'>&lt;p class="MsoNormal"&gt;(...) Web 1.0 to prosty kod HTML, minimum formy maksimum treści, ale również niska użyteczność. Web 2.0 to dużo większy stopień komplikacji i zaawansowania technologicznego. Natłok technologii i informacji na ekranie wymusza powstawania nauk takich, jak architektura informacji i użyteczność. Web 3.0 będzie prostszy od obecnych stron, przekazując jednocześnie więcej istotnych informacji.&lt;/p&gt;&lt;br /&gt;&lt;BR&gt;&lt;BR&gt;&lt;br /&gt;&lt;object type="application/x-shockwave-flash" data="https://s3.amazonaws.com:443/slideshare/ssplayer.swf?id=58134&amp;doc=konferencja-ecommerce-2007-web-30-internet-semantyczny-kazimierz-pogoda-ncdc-7632" width="425" height="348"&gt;&lt;param name="movie" value="https://s3.amazonaws.com:443/slideshare/ssplayer.swf?id=58134&amp;doc=konferencja-ecommerce-2007-web-30-internet-semantyczny-kazimierz-pogoda-ncdc-7632" /&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-8775191817619698250?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skrypty-seo.blogspot.com/feeds/8775191817619698250/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6458620484418485338&amp;postID=8775191817619698250&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/8775191817619698250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/8775191817619698250'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2007/08/web-30-internet-semantyczny.html' title='Web 3.0 – Internet semantyczny'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-4176243412136169841</id><published>2007-08-22T08:15:00.000-07:00</published><updated>2007-09-27T00:57:30.596-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Proste rozwiązania'/><category scheme='http://www.blogger.com/atom/ns#' term='Serwer WWW'/><title type='text'>Serwer WWW w czterech kliknięciach</title><content type='html'>&lt;p class="MsoNormal"&gt;Jeśli ktoś potrzebuje błyskawicznie uruchomić swój własny serwer WWW, a nie posiada zbyt dużego doświadczenia w tej materii może skorzystać z darmowego programu &lt;a target="blank" href="http://www.vsdsoftware.pl/produkty/alacer/"&gt;Alacer 2.0&lt;/a&gt;.&lt;/p&gt;    &lt;p class="MsoNormal"&gt; Po dosłownie czterech klinkięciach można uruchomić swoją własną stronę WWW z własnego komputera. Aplikacja dodatkowo w intuicyjny sposób pozwala zainstalować podstawowe dodatki, oraz śledzić logi i statystyki serwera. &lt;/p&gt;    &lt;p class="MsoNormal"&gt;... to tak na początek aby połknąć bakcyla ...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-4176243412136169841?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skrypty-seo.blogspot.com/feeds/4176243412136169841/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6458620484418485338&amp;postID=4176243412136169841&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/4176243412136169841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/4176243412136169841'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2007/08/serwer-www-w-czterech-klikniciach.html' title='Serwer WWW w czterech kliknięciach'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6458620484418485338.post-1266486563025482751</id><published>2007-08-22T08:12:00.000-07:00</published><updated>2007-08-31T08:43:03.716-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Raport'/><title type='text'>Raport Klienci 2.0</title><content type='html'>&lt;p class="MsoNormal"&gt;W zasobach IDG znalazłem interesujący raport będący podsumowaniem konferencji &lt;span&gt;"Klienci 2.0. FMCG. Jak pozyskać, utrzymać i zmonetaryzować e-klienta?"&lt;/span&gt;. Konferencja odbyła się w styczniu br. dzięki &lt;a href="http://www.internetstandard.pl/"&gt;Internet Standard&lt;/a&gt; oraz Gazeta.pl.&lt;/p&gt;      &lt;p class="MsoNormal"&gt;Pobierz PDF: &lt;a href="http://files.idg.pl/news/Klienci20.pdf"&gt;Klienci 2.0&lt;/a&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;Szczególnie polecam fragmenty dotyczące znaczenia pozycjonowania oraz sposobów budowania społeczności internetowej wokół reklamowanej marki.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6458620484418485338-1266486563025482751?l=skrypty-seo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skrypty-seo.blogspot.com/feeds/1266486563025482751/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6458620484418485338&amp;postID=1266486563025482751&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/1266486563025482751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6458620484418485338/posts/default/1266486563025482751'/><link rel='alternate' type='text/html' href='http://skrypty-seo.blogspot.com/2007/08/raport-klienci-20.html' title='Raport Klienci 2.0'/><author><name>Marcin Ch</name><uri>http://www.blogger.com/profile/14713453529831008480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
