Successfully reported this slideshow.
Your SlideShare is downloading. ×

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

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 50 Ad

More Related Content

Slideshows for you (20)

Similar to Błędy userów, niedoróbki koderów (20)

Advertisement

More from Arkadiusz Stęplowski (17)

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

  1. 1. Niedoszły Bibliotekarz przedstawia: Błędy userów, niedoróbki koderów http://arek.bibliotekarz.com WordCamp Gdaosk 2012
  2. 2. Pogadanka na licencji CC BY 3.0 • kopiowad, rozpowszechniad, odtwarzad i wykonywad utwór • tworzyd utwory zależne • użytkowad 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
  3. 3. 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.
  4. 4. User mode = ON
  5. 5. <H1> ma byd jeden </H1>
  6. 6. Dwa akapity z vs. MS Word Ponad 130 kb
  7. 7. DSC000234481.jpg
  8. 8. Jak wyszukad fotkę po tagach alt =‘’” title=‘’DSC0234481.jpg” Pamiętajcie co zawiera EXIF miniaturki, lokalizacja, data, godzina, …
  9. 9. Kasuj co zbędne
  10. 10. Strona jest dla gościa Banner Banner
  11. 11. Trudnozmienialne URL-e http://lukrecjusz.pl/kuchnia/opinie-recenzja/produkty/ i wygodne menu
  12. 12. Rozbójnicy Skórki Wtyczki Widgety Dodatki …
  13. 13. User mode = OFF • Nie szaled z typografią, znacznikami, wtyczkami. • Oszczędzad miejsce na istotne treści. • Przemyśled dla kogo strona i jaka nawigacja. • Nadawad zdjęciom i linkom sensowne nazwy. • Konwertowad teksty i zdjęcia. • Uważad przy osadzaniu obiektów od innych, darmowe wtyczki, skórki, widgety (zwłaszcza z szyfrowanym kodem).
  14. 14. Koder mode = ON
  15. 15. Przynajmniej jest jeden krój fonta ! No dobrze trzy kroje z obowiązkowym Comic Sans MS
  16. 16. Jednolitośd języka na stronie - ‘’Twoją stronę odwiedziło 143245 guest’’ - ‘’poruszyd ś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’’
  17. 17. Twórz nowe motywy lub potomne /* Theme Name: Klusek Twenty Eleven Description: Motyw potomny Twenty Eleven Author: Klusek Template: twentyeleven */
  18. 18. Standardy • Wykorzystanie zaleceo schema.org • Zgodnośd z RFC
  19. 19. Skórkowtyczkom dziękujemy Wspieramy 404, mogą przekazad zdecydowanie większą wartośd niż prosty komunikat o błędzie.
  20. 20. Wrócisz po roku do kodu a tam… <code> cimcia() dumcia() trololo() </code> a przecież można było: joeplugin_post_pretty_title()
  21. 21. Zadbaj o oczy i umysł ;) // komentuj żeby było wiadomo co do czego <użyj> <formatowania kodu> <to pomaga naprawdę> </użyj>
  22. 22. 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
  23. 23. Ilośd dodatków w head
  24. 24. 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
  25. 25. Struktura Wtyczka |- [css] |- [img] |- [js]
  26. 26. 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 gromadzid informacje nieużywane? Weryfikacja przyjmowanych danych i uprawnieo
  27. 27. Informacja zwrotna www-data@helion.pl (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
  28. 28. Ludzie łatwo giną Twoje zamówienie ma status ‘’W drodze” • Czeka na akceptację • Zaakceptowane • Pakowanie • Wysyłka • Kurier • Dostarczone
  29. 29. ‘’drobiazgi’’ wp_remote_get () vs. Curl Dodatkowe tabele Wiele wpisów w tabeli wp_options zamiast utworzenia tablicy Inicjacja wtyczki i jej usuwanie Różne konfiguracje serwerów użytkownika
  30. 30. 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."
  31. 31. Weryfikuj informacje Cudowny lek anonimizujący wordpresa remove_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
  32. 32. Nie pobierają
  33. 33. Wikingowie przy ognisku opowiadają: Im więcej przeprowadzisz testów w różnych środowiskach tym mniej masz wrogów.
  34. 34. Koder mode = OFF • Typografia i jednolitośd językowa • Czytanie ze zrozumieniem • Weryfikacja źródła ograniczone zaufanie • Jakośd tworzonego kodu i dokumentacji • Korzystanie z dobrych praktyk i utrzymywanie standardów • Przyjaznośd dla użytkownika
  35. 35. admin1
  36. 36. Porażki Wdrażanie zmian bez zweryfikowanego backupu Porządek w kopiach zapasowych, domenach i serwerach Kopia robocza / testowa dostępna dla wyszukiwarek Pokora względem czasu i umiejętności
  37. 37. 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/
  38. 38. 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>
  39. 39. Słabe hasła i dostęp mnemotechnika Taniecz**, KMorgan%40 głUkłÓbaBzakaRmaSdłUhaS5 gł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
  40. 40. Polityka bezpieczeostwa Jeden wordpress jedna baza danych Każdy prefix do tabel unikalny Standardowe ścieżki do wp-config.php czy użytków jak PhpMyAdmin zmienione Wzbogacone .htaccess Właściwe prawa dostępu do plików i katalogów
  41. 41. Options All -Indexes Godziny 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
  42. 42. .htaccess ServerSignature Off # ograniczamy limit uploadu do 10mb LimitRequestBody 10240000 # obsługa typowych błędów ErrorDocument 404 /404.php ErrorDocument 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
  43. 43. 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]
  44. 44. # wycinka komentarzy z kosmosu RewriteCond %{REQUEST_METHOD} POST RewriteCond %{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ę TRACE RewriteCond %{REQUEST_METHOD} ^TRAC(E|K) RewriteRule .* - [F]
  45. 45. # wycinka hotlinkowania RewriteCond %{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ę www RewriteCond %{HTTP_HOST} ^twoja.tld$ [NC] RewriteRule ^(.*)$ http://www.twoja.tld/$1 [R=301,L]
  46. 46. # blokujemy dostęp do plików <FilesMatch ".(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$"> Order Allow,Deny Deny from all </FilesMatch> <files ^wp-config.php$> Order deny,allow deny from all </files>
  47. 47. # global User-agent: * robots.txt 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/
  48. 48. Warto przejrzed http://www.josiahcole.com/2007/07/11/almost-perfect-htaccess-file-for-wordpress-blogs/ http://codex.wordpress.org/Hardening_WordPress#Securing_wp-config.php http://webhelp.pl/blog/jak-nie-pisac-wtyczek-i-szablonow-dla-wordpressa http://blog.vokiel.com/css-minify-combine-zmniejszanie-laczenie-plikow-css-w-jeden http://webfaces.pl/blog/wordpress-jako-cms-najczestsze-bledy-deweloperow http://www.optart.pl/2011/12/wordcamp-2011 http://www.problogger.net/archives/2012/08/29/top-10-wordpress-security-myths http://planetozh.com/blog/2009/09/top-10-most-common-coding-mistakes-in-wordpress- plugins/ http://perishablepress.com/5g-blacklist-2012/
  49. 49. Materiały użyte w przykładach http://www.zombiesamurai.pl http://wolnelektury.pl http://mac.gov.pl http://www.kominek.in http://blog.kurasinski.com http://hatalska.com http://lukrecjusz.pl

×