50
Błędy userów, niedoróbki koderów Niedoszły Bibliotekarz przedstawia: WordCamp Gdańsk 2012 http://arek.bibliote karz.com

Błędy userów, niedoróbki koderów

Embed Size (px)

DESCRIPTION

Przegląd popularnych błędów popełnianych podczas tworzenia i prowadzenia bloga na silniku WordPress

Citation preview

Page 1: Błędy userów, niedoróbki koderów

Błędy userów, niedoróbki koderów

Niedoszły Bibliotekarz

przedstawia:

WordCamp Gdańsk 2012 http://arek.bibliotekarz.com

Page 2: Błędy userów, niedoróbki koderów

Pogadanka na licencji CC BY 3.0

• kopiować, rozpowszechniać, odtwarzać i wykonywać utwór

• tworzyć utwory zależne • użytkować utwór w sposób komercyjny

Ten utwór jest dostępny na licencji Creative Commons Uznanie autorstwa 3.0 Polska.

http://www.slideshare.net/bibliotekarz

Page 3: Błędy userów, niedoróbki koderów

Główne psuje Internetu

• Użytkownicy• Wykonawcy

Strony problemu będą się przenikać bo zarówno jedni i drudzy mogą w kilku przypadkach zepsuć to samo, choć różnymi metodami.

Page 4: Błędy userów, niedoróbki koderów

User mode = ON

Page 5: Błędy userów, niedoróbki koderów

<H1> ma być jeden </H1>

Page 6: Błędy userów, niedoróbki koderów

vs.

Dwa akapity

z MS Word

Ponad130 kb

Page 7: Błędy userów, niedoróbki koderów

DSC000234481.jpg

Page 8: Błędy userów, niedoróbki koderów

Jak wyszukać fotkę po tagach alt =‘’” title=‘’DSC0234481.jpg”

Pamiętajcie co zawieraEXIF

miniaturki,lokalizacja, data, godzina,…

Page 9: Błędy userów, niedoróbki koderów

Kasuj co zbędne

Page 10: Błędy userów, niedoróbki koderów

Strona jest dla gościaBanner

Banner

Page 11: Błędy userów, niedoróbki koderów

Trudnozmienialne URL-e

http://lukrecjusz.pl/kuchnia/opinie-recenzja/produkty/

i wygodne menu

Page 12: Błędy userów, niedoróbki koderów

RozbójnicySkórki WtyczkiWidgetyDodatki…

Page 13: Błędy userów, niedoróbki koderów

User mode = OFF

• Nie szaleć z typografią, znacznikami, wtyczkami.

• Oszczędzać miejsce na istotne treści.• Przemyśleć dla kogo strona i jaka nawigacja.• Nadawać zdjęciom i linkom sensowne nazwy.• Konwertować teksty i zdjęcia.• Uważać przy osadzaniu obiektów od innych,

darmowe wtyczki, skórki, widgety (zwłaszcza z szyfrowanym kodem).

Page 14: Błędy userów, niedoróbki koderów

Koder mode = ON

Page 15: Błędy userów, niedoróbki koderów

Przynajmniej jest jeden krój fonta !

No dobrze trzy kroje z obowiązkowym Comic Sans MS

Page 16: Błędy userów, niedoróbki koderów

Jednolitość języka na stronie - ‘’Twoją stronę odwiedziło

143245 guest’’ - ‘’poruszyć świadome

używanie Read more…’’ - ‘’Komentarze 01.01.1970

title text Twój komentarz’’ - ‘’Strona: 1 2 3 4 5...

Następna » Glos 0.7 uses technologies including PHP’’

Page 17: Błędy userów, niedoróbki koderów

Twórz nowe motywy lub potomne

/*Theme Name: Klusek Twenty ElevenDescription: Motyw potomny Twenty ElevenAuthor: KlusekTemplate: twentyeleven*/

Page 18: Błędy userów, niedoróbki koderów

Standardy

• Wykorzystanie zaleceń schema.org• Zgodność z RFC

Page 19: Błędy userów, niedoróbki koderów

Skórkowtyczkom dziękujemy

Wspieramy 404, mogą przekazać zdecydowanie większą wartość niż prosty komunikat o błędzie.

Page 20: Błędy userów, niedoróbki koderów

Wrócisz po roku do kodu a tam…

<code> cimcia() dumcia()

trololo()</code>

a przecież można było:joeplugin_post_pretty_title()

Page 21: Błędy userów, niedoróbki koderów

Zadbaj o oczy i umysł ;)

// komentuj żeby było wiadomo co do czego<użyj>

<formatowania kodu><to pomaga naprawdę>

</użyj>

Page 22: Błędy userów, niedoróbki koderów

Wujowo ale jednakowo

Wersja 3.2.8 | Autor: Arne Brachhold | Odwiedź witrynę wtyczki | Settings | FAQ | Support | Donate

Wersja 0.1 | Autor: Ivan Kazandzhiev | Odwiedź witrynę wtyczki

Page 23: Błędy userów, niedoróbki koderów

Ilość dodatków w head

Page 24: Błędy userów, niedoróbki koderów

1 plik ładuje się szybciej <link rel='stylesheet' id='helion-ksiegarnia-css'

href='http://…pro/css/ksiegarnia.css?ver=3.4.2' type='text/css‘ media='all' /> 1431b

<link rel='stylesheet' id='helion-shortcodes-css' href='http://…pro/css/shortcodes.css?ver=3.4.2' type='text/css‘ media='all' /> 895b

<link rel='stylesheet' id='helion-widgets-css' href='http://…pro/css/widgets.css?ver=3.4.2' type='text/css‘ media='all' /> 688b

<link rel='stylesheet' id='helion-wyszukiwarka-css' href='http://…pro/css/wyszukiwarka.css?ver=3.4.2' type='text/css' media='all' /> 192b

CSS Sprite

Page 25: Błędy userów, niedoróbki koderów

Struktura

Wtyczka|- [css]|- [img]|- [js]

Page 26: Błędy userów, niedoróbki koderów

formularze

Kontrola poprawności wprowadzonych danych ok, ale bez blokady wysyłania.

W przypadku nieprzewidzianych danych ujawnia się dodatkowe pole dla opisu.

Każde pole formularza jednoznacznie opisane, podpowiedź (najlepiej kontekstowa, nie wymagająca zmiany) w polu edycji.

Po co gromadzić informacje nieużywane?Weryfikacja przyjmowanych danych i uprawnień

Page 27: Błędy userów, niedoróbki koderów

Informacja zwrotna

[email protected] (www-data) napisał: HELION SA, 44-100 Gliwice, ul. Ko ciuszki 1C

Numer KRS 0000121256 S d Rejonowy w Gliwicach, X Wydzia Gospodarczy Krajowego Rejestru S dowego.

NIP 631-020-02-68, REGON: 271070648 Kapita zak adowy: 500100 z w ca o ci wp

acony

Page 28: Błędy userów, niedoróbki koderów

Ludzie łatwo giną

Twoje zamówienie ma status ‘’W drodze”

• Czeka na akceptację• Zaakceptowane• Pakowanie• Wysyłka• Kurier• Dostarczone

Page 29: Błędy userów, niedoróbki koderów

‘’drobiazgi’’

wp_remote_get () vs. CurlDodatkowe tabeleWiele wpisów w tabeli wp_options zamiast

utworzenia tablicyInicjacja wtyczki i jej usuwanieRóżne konfiguracje serwerów użytkownika

Page 30: Błędy userów, niedoróbki koderów

Czytaj ze zrozumieniem

<meta http-equiv="x-dns-prefetch-control" content="off"/>

Chromium watches for an HTTP header of the form "X-DNS-Prefetch-Control" (with a vcase insensitive)alue of either "on" or "off."

Page 31: Błędy userów, niedoróbki koderów

Weryfikuj informacje

Cudowny lek anonimizujący wordpresaremove_action('wp_head', 'wp_generator'); a w rss nr wersji zostaje :/

BTW zwróciliście uwagę na http://lukrecjusz.pl/.../css/ksiegarnia.css?ver=3.4.2

Błędy w plikach z repozytorium wordpress.org

Page 32: Błędy userów, niedoróbki koderów

Nie pobierają

Page 33: Błędy userów, niedoróbki koderów

Wikingowie przy ognisku opowiadają:

Im więcej przeprowadzisz testów w różnych środowiskach tym mniej masz wrogów.

Page 34: Błędy userów, niedoróbki koderów

Koder mode = OFF

• Typografia i jednolitość językowa• Czytanie ze zrozumieniem• Weryfikacja źródła ograniczone zaufanie• Jakość tworzonego kodu i dokumentacji• Korzystanie z dobrych praktyk i

utrzymywanie standardów • Przyjazność dla użytkownika

Page 35: Błędy userów, niedoróbki koderów

admin1

Page 36: Błędy userów, niedoróbki koderów

PorażkiWdrażanie zmian bez zweryfikowanego

backupuPorządek w kopiach zapasowych, domenach i

serwerachKopia robocza / testowa dostępna dla

wyszukiwarekPokora względem czasu i umiejętności

Page 37: Błędy userów, niedoróbki koderów

Najczęstsze źródła problemów

• <meta name="generator" content="WordPress .old" />

• admin1• UPDATE wp_users

SET user_status = '$ranga' WHERE ID = $id”;

• domena.tld/wp-content/uploads/2010/02/

Page 38: Błędy userów, niedoróbki koderów

Brak aktualizacji<channel><title>Ministerstwo Administracji i Cyfryzacji</title><atom:link href="http://mac.gov.pl/feed/" rel="self" type="application/rss+xml" /><link>http://mac.gov.pl</link><description>Ministerstwo Administracji i Cyfryzacji</description><lastBuildDate>Tue, 09 Oct 2012 13:19:09 +0000</lastBuildDate><...><generator>http://wordpress.org/?v=3.4.1</generator>

<item>

<channel><title>Kominek IN</title><atom:link href="http://www.kominek.in/feed/" rel="self" type="application/rss+xml" /><link>http://www.kominek.in</link><description>Lifestyle, Kominek, High life, Uczucia</description><...><generator>http://wordpress.org/?v=</generator>

<item>

Page 39: Błędy userów, niedoróbki koderów

Słabe hasła i dostępmnemotechnika Taniecz**, KMorgan%40głUkłÓbaBzakaRmaSdłUhaS5głupia kłótliwa babo za karę masz długie hasło x (gdzie x = ulubiony date +%w)+cAw4l:p

ssh sftp zapisane hasła strona trzasła

Page 40: Błędy userów, niedoróbki koderów

Polityka bezpieczeństwa

Jeden wordpress jedna baza danychKażdy prefix do tabel unikalny Standardowe ścieżki do wp-config.php czy

użytków jak PhpMyAdmin zmienioneWzbogacone .htaccessWłaściwe prawa dostępu do plików i katalogów

Page 41: Błędy userów, niedoróbki koderów

Options All -IndexesGodziny pracy we wrześniu:

16 - 0.30 (coś niecoś poprawiła bo już nie ma widocznych godzin wgrania plików)

16 - 0.30 ale raz jakiś banner wrzucił o 8 rano

11 - 14

Page 42: Błędy userów, niedoróbki koderów

.htaccess

ServerSignature Off

# ograniczamy limit uploadu do 10mbLimitRequestBody 10240000

# obsługa typowych błędówErrorDocument 404 /404.phpErrorDocument 403 "<html><head><title>O

NO!</title></head><body><br /><br /><h2><tt>403 Chyba coś nie zadzialalo :(</tt></h2></body></html>’’

ErrorDocument 500 /error.php

Page 43: Błędy userów, niedoróbki koderów

Prosto z codex

RewriteRule ^wp-admin/includes/ - [F,L]RewriteRule !^wp-includes/ - [S=3]RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]RewriteRule ^wp-includes/js/tinymce/langs/.

+\.php - [F,L]RewriteRule ^wp-includes/theme-compat/ -

[F,L]

Page 44: Błędy userów, niedoróbki koderów

# wycinka komentarzy z kosmosuRewriteCond %{REQUEST_METHOD} POSTRewriteCond %{REQUEST_URI} .wp-comments-

post\.php*RewriteCond %{HTTP_REFERER} !.*twoja-dom.ena*

[OR]RewriteCond %{HTTP_USER_AGENT} ^$RewriteRule (.*) ^http://%{REMOTE_ADDR}/$

[R=301,L]# wycina metodę TRACERewriteCond %{REQUEST_METHOD} ^TRAC(E|K)RewriteRule .* - [F]

Page 45: Błędy userów, niedoróbki koderów

# wycinka hotlinkowaniaRewriteCond %{HTTP_REFERER} !^$RewriteCond %{HTTP_REFERER} !^http://(www\.)?

twoja-dom.ena/.*$ [NC]RewriteRule \.(gif|jpg|swf|flv|png)$

http://twój.obrazek.jpg [R=302,L]

# przekierowanie na subdomenę wwwRewriteCond %{HTTP_HOST} ^twoja\.tld$ [NC]RewriteRule ^(.*)$ http://www.twoja.tld/$1 [R=301,L]

Page 46: Błędy userów, niedoróbki koderów

# blokujemy dostęp do plików<FilesMatch "\.(htaccess|htpasswd|ini|phps|fla|psd|log|sh)

$">

Order Allow,DenyDeny from all</FilesMatch>

<files ^wp-config.php$>Order deny,allowdeny from all</files>

Page 47: Błędy userów, niedoróbki koderów

# globalUser-agent: *Disallow: /cgi-bin/Disallow: /wp-admin/Disallow: /wp-includes/Disallow: /wp-content/plugins/Disallow: /wp-content/cache/Disallow: /wp-content/themes/Disallow: /trackback/Disallow: /feed/Disallow: /comments/Disallow: /category/*/*Disallow: */trackback/Disallow: */feed/Disallow: */comments/Disallow: /*?Allow: /wp-content/uploads/

robots.txt

Page 48: Błędy userów, niedoróbki koderów
Page 49: Błędy userów, niedoróbki koderów

http://www.josiahcole.com/2007/07/11/almost-perfect-htaccess-file-for-wordpress-blogs/http://codex.wordpress.org/Hardening_WordPress#Securing_wp-config.phphttp://webhelp.pl/blog/jak-nie-pisac-wtyczek-i-szablonow-dla-wordpressahttp://blog.vokiel.com/css-minify-combine-zmniejszanie-laczenie-plikow-css-w-jedenhttp://webfaces.pl/blog/wordpress-jako-cms-najczestsze-bledy-deweloperowhttp://www.optart.pl/2011/12/wordcamp-2011http://www.problogger.net/archives/2012/08/29/top-10-wordpress-security-mythshttp://planetozh.com/blog/2009/09/top-10-most-common-coding-mistakes-in-wordpress-plugins/http://perishablepress.com/5g-blacklist-2012/

Warto przejrzeć

Page 50: Błędy userów, niedoróbki koderów

Materiały użyte w przykładach

http://www.zombiesamurai.plhttp://wolnelektury.plhttp://mac.gov.plhttp://www.kominek.inhttp://blog.kurasinski.comhttp://hatalska.comhttp://lukrecjusz.pl