Portál AbcLinuxu, 1. května 2025 22:57

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
7.11.2012 20:06 Ivorne | blog: Ivorne
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Odpovědět | Sbalit | Link | Blokovat | Admin
Na který aspekt stránek si žádáš názory? Vzhled? Účel? Technická stránka?
7.11.2012 20:11 dizz
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Odpovědět | Sbalit | Link | Blokovat | Admin
Dobre pro posledni rok zakladni skoly. Takovouhel stranku splacam i ja..
8.11.2012 09:17 Martin | skóre: 4 | blog: Atilius
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Tady přeci nejde vůbec o to, jestli to splácáš i Ty. Mně osobně to příjde dobré. jednoduché, přehledné. Žádné tabulky, ale všechno pěkně přes css.
Není tam žádná grafika a co? Naopak oceňuji jednoduchost v tom, že když se to budu chtít naučit, kouknu do kodu a rychle se v tom vyznám.
V prvním momentě, když jsem viděl zápisek, tak jsem čekal web udělaný ve wordu nebo tak něco.

Za mě má paní učitelka jedničku ;)
7.11.2012 20:27 arch_way
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Odpovědět | Sbalit | Link | Blokovat | Admin
Taky bych to tipoval tak na základní školu. Ale může to být i horší :D
7.11.2012 20:47 xkomczax | skóre: 51 | blog: proste_blog
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
HTML design © Kamil Friš 2002 To je už 10 let, na tehdejší dobu docela normál... Byly daleko, daleko větší extrémy ;-)
7.11.2012 21:40 arch_way
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Teď nám to spíš ukazuje jako takový odstrašující příklad v hodinách webu :) Dokonce jsme ho přemlouvali, že mu tam vytvoříme něco reprezentativního, ale to zatím odmítá :D
coder avatar 7.11.2012 20:41 coder | skóre: 4 | blog: lINUKS
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Odpovědět | Sbalit | Link | Blokovat | Admin
Me to prijde v pohode :-) a to nemyslim ironicky ;-)
These kids won't have to remember passwords or obsess about security because these kids will grow up with Windows 10!
GeoRW avatar 8.11.2012 07:18 GeoRW | skóre: 13 | blog: GeoRW | Bratislava
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
+1, ked to je nejaka nepocitacovo zamerana skola (napr. Stredna Odborna Skola starostlivosti o krasu :-), tak je to az vynikajuce.
"This is to be taken with a grain of salt." ACBF - Advanced Comic Book Format
7.11.2012 20:53 xkomczax | skóre: 51 | blog: proste_blog
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Odpovědět | Sbalit | Link | Blokovat | Admin
Na zdroják jsem se díval, ale nenašel jsem tam nic zajímavého. Validačními testy také projde. Nechceš spíš napsat, co se ti na webu nezdá, proč bychom jej měli prohlížet?
Linuxové návody, fotky, zápisky z cest.
Bedňa avatar 7.11.2012 20:56 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Odpovědět | Sbalit | Link | Blokovat | Admin
Nemám rád stránky hodené doľava, alebo doprava, ideálny je center, ale to je asi jediné čo mi pripadá zlé. Validné sú a nie každý má umeleckého ducha :) Tak napr. aj asi najlepšie české stránky o webe niesu pecka pritom obsahovo jednička. http://www.jakpsatweb.cz/
KERNEL ULTRAS video channel >>>
7.11.2012 21:01 dizz
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Myslim si, ze pokud je VOS alespon trochu do Informacnich technologii nemeli by pro ne stranky koncit na HTML + CSS

Az na ten center se mi ten vzhled stranek docela libi -> mam rad prehledne veci (nemam rad zjednodusovani na ukor vlastnosti)
7.11.2012 21:37 eL Bunda | blog: Bundablog
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Odpovědět | Sbalit | Link | Blokovat | Admin
Podle mě je kód té stránky téměř v pořádku. Jediné, co by se dalo vytknout, je to menu - jednak že není udělané pomocí odrážkového seznamu, což je takové nepsané pravidlo, a jednak nechápu, proč je v menu uveden jeden odkaz 2x (položky "Úvod" a "Web" vedou na jednu a tu samou stránku)

Ano, není to zrovna web jako od profíka, ale pokud jde pouze o základy pro studenty za tím účelem, aby měli přehled, zdá se mi to v pořádku.
Pinhead avatar 7.11.2012 22:00 Pinhead | skóre: 20
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Odpovědět | Sbalit | Link | Blokovat | Admin
Hezký, jednoduchý, přehledný.
Complete the pattern, solve the puzzle, turn the key.
7.11.2012 22:03 manasekp | skóre: 29 | blog: manasekp | Brno
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Odpovědět | Sbalit | Link | Blokovat | Admin
Uplny shit, takove weby se delaly pred 10+ lety. Samozrejme pokud jde jenom o obsah tak jakekoliv ciste html vyhovi.

btw to ../../ v odkazech z podstranek je co za ulet? Mam dojem ze je to cele nejak spatne vymyslene.
BIOKOMP | Cas od casu se pokousim nekoho srazit k zemi abych se tam nevalel sam.
8.11.2012 06:30 jozka | skóre: 19 | blog: jozkovo
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Mno, neco na tom bude. Neblika to, netroubi to, nezere to 100% CPU...

U me dobry :-)
8.11.2012 08:20 manasekp | skóre: 29 | blog: manasekp | Brno
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
web ktery blika troubi a zere 100% cpu neni dobry nikdy :-D
BIOKOMP | Cas od casu se pokousim nekoho srazit k zemi abych se tam nevalel sam.
8.11.2012 10:19 kavol | skóre: 28
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Neblika to, netroubi to, nezere to 100% CPU...

U me dobry :-)
+1
Petr Bravenec avatar 7.11.2012 22:21 Petr Bravenec | skóre: 43 | blog: Bravenec
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Odpovědět | Sbalit | Link | Blokovat | Admin
Nevím, co bych tomu vytknul strašného z hlediska html, které jsem nezkoumal, nebo z hlediska vzhledu, který nemusí být podstatný.

Ale jednu zásadní výtku tam mám: Nejde o nic jiného, než o jednoduchou příručku. Jako taková by se měla jevit i případnému studentovi. Měl by vědět, kde se pohybuje, v jaké je kapitole, měl by mít přehled. Ten se tam udělat nedá.

Klasický učební dokument je přísně strukturovaný:
1. Web
1.1 Úvod
1.1.1 Struktura složek
1.1.2 Názvy a přípony souborů
1.1.3 Typy souborů
1.2 Webhosting
1.2.1 Doména
1.2.2 Webhosting
Tohle je strukturované zjevně taky, ale struktura je totálně zatemněná a navigace tam není vůbec žádná. V libovolných papírových skriptech se dá obvykle vyznat líp, než v tomto.

Přijde mi, že tohle udělal jeden patlač pro ostatní patlače, aby jim napsal, jak upatlat html stránku, ale není tam ani slovo o tom, že obvyklý web má nějaký účel a strukturu, a že u většiny webů, na jejichž vývoji se bude současný student později v praxi podílet, jde o to, aby tam zákazník našel rychle a bez dlouhého klikání vše, co potřebuje. To je věc, která autorovi zcela uniká.

Petr Bravenec - Hobrasoft s.r.o.
Bedňa avatar 7.11.2012 22:53 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Ale že koľko je takto pekne štrukturovaných webov? Inak som za, stránky by mali vyzerať ako manuál.
KERNEL ULTRAS video channel >>>
Josef Kufner avatar 8.11.2012 00:18 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Celkem hodně. Ne, že by to vypadalo přesně takle, ale běžně aspoň první (a obvykle i druhá) úroveň je jasná z hlavního menu webu.
Hello world ! Segmentation fault (core dumped)
8.11.2012 08:09 popo
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
7.11.2012 23:35 Kvakor
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Odpovědět | Sbalit | Link | Blokovat | Admin
Po technické stránce ... no, je to validní, ale zdá se mi to takové divné. Když někdo chce udělat stránky o HTML/CSS/Js/PHP, tak by to mělo opravdu vypadat, že autor to vše dokonale ovládá, včetně toho, jak má web vypadat ohledně sémantiky, přístupnosti a podobně.

Nebo to může být jen něco na úrovni webové verze dokumentace (jako se vyplivne z různých generátorů dokumentace nebo jako HTML výstup zkonverovaný z TeXu), kde je jasné, že autor transcendoval barvičky, ozdobičky a jiné rozličné serepetičky, protože ví, že jenom odvádějí pozornost od tématu.

Jenže uvedená stránky zůstavejí trčet někde mezi a mám z toho pocit, jako by se jejich autorka řídila heslem "můžu učit cololiv, pokud budu alespoň o lekci před svými žáky". Navíc na některých místech chybí popisy, takže to spíš vypadá jako online verze prezentace, ke keteré musí být ještě další slovní výklad.

PS: Moc jsem to neprohlížel, ale za tento kód (nepodstatné části vynechány):
  $nazev=$_POST["nazev"];
...
  //provedení kontroly dat
  $kontrola=true;
  if($nazev=="") {echo "<h2>Nebyl zadán název zboží</h2>\n"; $kontrola=false;}
...
  if($kontrola) { 
    if(!$data=mysql_query("insert into zbozi (nazev,cena) values ('$nazev', $cena"))
...
by měl být kdokoliv pověšen za něco (v tomto případě nejspíš palce od nohou) do průvanu - pokud by tam nebyla vůbec žádná kontrola, tak se dá říct "OK, je to jen příklad, není tam žádná kontrola", ale tohle, kde nějaká "kontrola" je, ale žádné oescapování, to je přímo žádost o SQL injektáž ...
8.11.2012 10:19 kavol | skóre: 28
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
no pozor, jednak hovoříš o neveřejném rozhraní, kde nemusí být kontrola tak striktní - zaměstnanec eshopu nebo co to má být za příklad napáchá dost škody už jen samotným zadáním špatné ceny, na to nepotřebuje SQL injection, takže asi má jistou důvěru, že se jako uživatel tohoto rozhraní nebude o SQL injection pokoušet

a jednak je v phpku AFAIK zapnuté by default magic_quotes, takže ošetření vstupu dělá jazyk, proč s tím otravovat programátora?
Bystroushaak avatar 8.11.2012 12:20 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
a jednak je v phpku AFAIK zapnuté by default magic_quotes, takže ošetření vstupu dělá jazyk, proč s tím otravovat programátora?
Hah. Pak se člověk diví, že kdejaký anonymous havijem vyhaxuje půlku webů v republice.
8.11.2012 12:55 kavol | skóre: 28
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
člověk se nediví, jen konstatuje, že bezpečnost je zcela jiný předmět než programování, byť spolu souvisí, takže by jednoduché ukázce kódu nevyčítal, že neřeší tu bezpečnost

asi jako kdyby v půlce přednášky o mléčných výrobcích byla vložena informace, jak se pečou rohlíky, protože se na ně občas maže máslo ... o pečení rohlíků nechť se učí na hodině pekařství, a o tom, jak dětem na svačinu správně na rohlíky mazat máslo nechť se učí na rodinné výchově
Bystroushaak avatar 8.11.2012 14:03 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
asi jako kdyby v půlce přednášky o mléčných výrobcích byla vložena informace, jak se pečou rohlíky, protože se na ně občas maže máslo ... o pečení rohlíků nechť se učí na hodině pekařství, a o tom, jak dětem na svačinu správně na rohlíky mazat máslo nechť se učí na rodinné výchově
Jenže tohle je kritická záležitost, která by se do lidí měla vtloukat zleva i zprava, stejně jako každý rodič dětem vysvětlí, že nemají žrát vše co najdou na silnici a s ohněm se nehraje, protože by se nemusel jen spálit, ale mohl by shořet i celý barák, včetně rodiny.

Lepší kuchařská analogie by tedy byla, kdyby v půlce přednášky bylo uvedeno, že se nemá používat mouka infikovaná námelem, jinak to zabije stovky lidí, jako se to ve středověku čas od času stalo.
9.11.2012 15:02 kavol | skóre: 28
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Jenže tohle je kritická záležitost, která by se do lidí měla vtloukat zleva i zprava,
vo tom samozřejmě žádná, ale ...
stejně jako každý rodič dětem vysvětlí, že nemají žrát vše co najdou na silnici
nevím, jestli jim to budu vysvětlovat při večeři
a s ohněm se nehraje, protože by se nemusel jen spálit, ale mohl by shořet i celý barák, včetně rodiny.
a o tomhle nebudu mluvit při plavání, jen protože vodou se dá hasit a tedy je tam nějaká souvislost s ohněm ...
Lepší kuchařská analogie by tedy byla, kdyby v půlce přednášky bylo uvedeno, že se nemá používat mouka infikovaná námelem, jinak to zabije stovky lidí, jako se to ve středověku čas od času stalo.
v půlce přednášky o mléčných výrobcích? - no, jak myslíš ... :-)
xkucf03 avatar 10.11.2012 13:18 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Jedna věc je opomenout něco vysvětlit a jiná věc je, uvést špatný příklad. Při večeři sice nemusíš vysvětlovat, že se nemají jíst odpadky ze silnice, ale ten příklad PHP kódu výše je, asi jako kdybys před dětmi prohrabal sousedovu popelnici, něco z ní vytáhl a šel z toho uvařit večeři a pak jste si na tom pochutnali. Jistě, za určitých okolností to může být jedlé (program použitelný), ale z didaktického hlediska stejně naprosto nevhodné.
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
11.11.2012 11:06 kavol | skóre: 28
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Jedna věc je opomenout něco vysvětlit a jiná věc je, uvést špatný příklad.
ok, a v čem konkrétně je to špatné, kromě toho, že to opomíná něco vysvětlit?
Při večeři sice nemusíš vysvětlovat, že se nemají jíst odpadky ze silnice, ale ten příklad PHP kódu výše je, asi jako kdybys před dětmi prohrabal sousedovu popelnici, něco z ní vytáhl a šel z toho uvařit večeři a pak jste si na tom pochutnali. Jistě, za určitých okolností to může být jedlé (program použitelný), ale z didaktického hlediska stejně naprosto nevhodné.
se mi zdá, že ti tato analogie tak trošku nefunguje ...
xkucf03 avatar 11.11.2012 11:37 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Zásadní chyba je v tomhle:
$nazev=$_POST["nazev"];
…
  //provedení kontroly dat
  $kontrola=true;
  if($nazev=="") {echo "<h2>Nebyl zadán název zboží</h2>\n"; $kontrola=false;}
…
  if($kontrola) { 
    if(!$data=mysql_query("insert into zbozi (nazev,cena) values ('$nazev', $cena"))
…
Opomenuté vysvětlení „nepodstatného detailu“ by bylo, kdybys vůbec nepracoval s $_POST[] a místo toho to zabalil do nějaké metody, a u jejího parametru by bylo napsáno, že smí obsahovat jen bezpečné znaky (např. a-zA-Z0-9) – pak bychom možná mohli opomenout, jak ty bezpečné znaky získat, když na vstupu od uživatele budou i nebezpečné.

Ale stejně by to byl špatný příklad, protože za escapování těch znaků by se mělo dělat těsně před vložením do SQL příkazu – jinak se na to může zapomenout.

A hlavně: programátor vůbec nemusí nic ručně escapovat a může to za něj udělat databázová vrstva jako PDO – použití parametrizovaných dotazů je správná cesta a dokonce ani není pracnější, než tohle lepení SQL z kousků textu.
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
11.11.2012 11:45 kavol | skóre: 28
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Opomenuté vysvětlení „nepodstatného detailu“ by bylo, ...
hele víš co, jdi do háje, nemám náladu na diskusi tímto stylem - nikdo neřekl, že je to "nepodstatný detail"
Bystroushaak avatar 11.11.2012 17:22 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
nikdo neřekl, že je to "nepodstatný detail"
No, řekl bych že ta učitelka to vyjádřila víc než jasně :)
xkucf03 avatar 10.11.2012 09:25 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Bezpečnost je stejně tak součást programování, jako třeba výkon (neplýtvání případně optimalizace) nebo správnost (aby program odpovídal zadání).

Něco jiného je ověřování bezpečnosti – penetrační testy – to je jiný obor, nicméně programátor by měl psát v principu bezpečně. Pokud lepí SQL dotazy nebo třeba HTML z kousků textu a zapomíná na escapování, tak dělá svoji práci špatně.
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
pavlix avatar 10.11.2012 09:38 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Už jste někdo na tu chybu upozornili?
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
11.11.2012 11:42 kavol | skóre: 28
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Bezpečnost je stejně tak součást programování, jako třeba výkon (neplýtvání případně optimalizace) nebo správnost (aby program odpovídal zadání).
... mně by jenom zajímalo, kolik ses toho učil o optimalizacích a správnosti na první hodině programování, a jestli tohle všechno řešíš pokaždé, když někomu ukazuješ nějakých pár triviálních proof-of-concept příkazů ...
Josef Kufner avatar 9.11.2012 14:24 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
a jednak je v phpku AFAIK zapnuté by default magic_quotes, takže ošetření vstupu dělá jazyk, proč s tím otravovat programátora?
This feature has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0.

A pokud vím, už dlouho nejsou zapnuté by default (od PHP 5.0 určitě). Navíc to je hrozný zdroj problémů, kdy aplikace obvykle musí napřed napravit škody, které tahle blbost napáchala.

Správný přístup reprezentuje například PDO, kdy se zadávají do SQL dotazu značky (proměnné), jejichž hodnoty jsou určeny v samostatných argumentech. Tím se programátorovi ušetří starosti a zvýší se bezpečnost (tedy oproti magic_quotes se bezpečnost zavede).
Hello world ! Segmentation fault (core dumped)
9.11.2012 15:05 kavol | skóre: 28
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
v PHP jsem programoval naposledy když verze 4 byla žhavá novinka ... to to letí :-( ... každopádně to mě neomlouvá jestliže kážu bludy, takže dík za opravu a doplnění
xkucf03 avatar 10.11.2012 09:20 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
zaměstnanec eshopu nebo co to má být za příklad napáchá dost škody už jen samotným zadáním špatné ceny, na to nepotřebuje SQL injection, takže asi má jistou důvěru, že se jako uživatel tohoto rozhraní nebude o SQL injection pokoušet

SQL injection může vést např. k tomu, že brigádník, který měl původně jen vkládat fotky nebo popisky zboží, bude najednou mít možnost označit nějakou objednávku jako zaplacenou a nechat si poslat zboží zadarmo (nebo si nastavit slevu 90%, na což by se ani nemuselo přijít).
a jednak je v phpku AFAIK zapnuté by default magic_quotes,
magic_quotes je prasárna a v PHP 5.3 je zavržená a v 5.4 odstraněná.
takže ošetření vstupu dělá jazyk, proč s tím otravovat programátora?

Chybná je už ta úvaha, že ošetřujeme vstup. Naopak, je potřeba ošetřovat výstup – mj. proto, že výstupy můžou být různé –- jednou do XHTML na webu, jindy do LaTeXu pro tisk faktur, jindy do e-mailu, kde stejné znaky zakóduješ zase jinak…
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
11.11.2012 11:37 kavol | skóre: 28
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
zaměstnanec eshopu nebo co to má být za příklad napáchá dost škody už jen samotným zadáním špatné ceny, na to nepotřebuje SQL injection, takže asi má jistou důvěru, že se jako uživatel tohoto rozhraní nebude o SQL injection pokoušet

SQL injection může vést např. k tomu, že brigádník, který měl původně jen vkládat fotky nebo popisky zboží, bude najednou mít možnost označit nějakou objednávku jako zaplacenou a nechat si poslat zboží zadarmo (nebo si nastavit slevu 90%, na což by se ani nemuselo přijít).
stále mi nějak uniká, jak se to principielně liší od případu, kdy nastaví cenu zboží 0 (a nechá si ho poslat), což v daném příkladu může(*) i bez SQL injection?

(*) a nevymýšlej si prosím virtuálního brigádníka, který "jen vkládá fotky nebo popisky" když v onom příkladu se jasně manipuluje s názvem a cenou
Chybná je už ta úvaha, že ošetřujeme vstup. Naopak, je potřeba ošetřovat výstup – mj. proto, že výstupy můžou být různé –- jednou do XHTML na webu, jindy do LaTeXu pro tisk faktur, jindy do e-mailu, kde stejné znaky zakóduješ zase jinak…
hm, zajímavé, tvůj náhled na zpracování dat zcela popírá vše, co jsem se kdy učil ...

takže tvoje představa je, že program zblajzne na vstupu cokoliv, dělá si s tím co chce, a pak, pokud mezitím nesegfaultuje kvůli nekompatibilitě datových typů apod., to předá nějakému magickému výstupnímu filtru, který zkonzultuje křišťálovou kouli a v případě výstupu v SQL rozhodne, jestli to co dostal je pokračování předchozí části složeného dotazu anebo pokus o SQL injection anebo šum, který náhodou vyšel syntakticky správně ...?

no, mě učili, že když dostanu na vstupu data, tak si mám zkontrolovat, zda je to to, co očekávám (tedy například jaká mám pravidla na jméno zboží, že nepřipouštím název Little Bobby Tables), a teprv potom s tím pracovat, přičemž už vím (samozřejmě pokud jsem v programu neudělal chybu), co předávám tomu výstupnímu filtru (který bere čistá data a sám k nim přidává onu potřebnou omáčku pro různé formáty), a ten tudíž nepotřebuje onu křišťálovou kouli, aby věděl, jak s tím pracovat
xkucf03 avatar 11.11.2012 12:33 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
stále mi nějak uniká, jak se to principielně liší od případu, kdy nastaví cenu zboží 0 (a nechá si ho poslat), což v daném příkladu může(*) i bez SQL injection?
Příklady obvykle popisují jen část problému – představ si, že na tom příkladu bude student stavět a bude chtít nedejbože vyrobit skutečný elektronický obchod – přidá tam pár IFů, aby rozlišil, kdo je zákazník, kdo brigádník a kro správce, který může všechno. A určité akce umožní dělat jen určitým rolím. A myslí si, že to hezky zabezpečil. Jenže ho nikdo nenaučil, že mazaně formulovaný uživatelský vstup může narušit SQL dotaz a nejen narušit, ale i spustit vlastní příkazy.

Podle nějakých statistik jsou SQL injekce stále jedním z největších bezpečnostních problémů na webu. Sice se mi to nezdálo a říkal jsem si, že po tolika letech a tolika bezpečnostních incidentech by se lidi konečně mohli naučit používat parametrizované dotazy… ale asi ne – a takovéhle příklady tomu nahrávají.
takže tvoje představa je, že program zblajzne na vstupu cokoliv
Je potřeba rozlišovat dvě roviny: syntaktickou a sémantickou. Sémantické kontroly dávají samozřejmě smysl už na vstupu – např. když zadáváme věk, mělo by to být kladné číslo ne větší než třeba 256.

Syntaxi naopak zkontrolovat nemůžeme, protože předem nemůžeš bezpečně vědět, kudy programem data potečou a na jaké výstupy se dostanou – pokud může být vstupem textový řetězec, tak neřeš, jestli obsahuje ', " &, <, \ atd. nemá to cenu, protože nedokážeš vybalancovat bezpečnost (pro potenciálně libovolný výstupní formát – v každém budou jiné zvláštní znaky) a použitelnost (uživatelé chtějí zadávat jména s ' nebo názvy firem s &). A řeš to až na konkrétním výstupu a do té doby s tím pracuj jako s libovolným textovým řetězcem.
to předá nějakému magickému výstupnímu filtru, který zkonzultuje křišťálovou kouli a v případě výstupu v SQL rozhodne, jestli to co dostal je pokračování předchozí části složeného dotazu anebo pokus o SQL injection anebo šum, který náhodou vyšel syntakticky správně ...?

Křišťálová koule právě není potřeba. Musíš mít pouze jasno v tom, co jsou data (parametry) a co je kód (zde SQL příkaz) a nikdy se ti to nesmí pomíchat. Kód je buď přímo součástí programu nebo se načítá z nějakých konfiguráků, za jejichž správnost ručíš. Datům naopak věřit nemůžeš a musíš je escapovat – a to tím způsobem, jaký vyžaduje daný výstup (jinak budeme escapovat pro SQL jinak pro XHTML atd.) resp. to escapování za tebe udělá nějaká mezivrstva, nemusíš si to psát sám.

V principu nějak takhle:
vykonejSQL("INSERT INTO tabulka (sloupeček_1, sloupeček_2) VALUES (?, ?);", array($_POST["parametr_1"], $_POST["parametr_2"]));
tzn. není potřeba nic věštit a data jsou od kódu jednoznačně oddělena a nikdy se nestane, že by se data interpretovala jako kód.
tedy například jaká mám pravidla na jméno zboží, že nepřipouštím název Little Bobby Tables
To je špatně, protože třeba takový řetězec obsahující apostrofy je legitimním názvem zboží, stejně tak se někdo může jmenovat třeba M'Gregor – je potřeba to escapovat, protože jinak mu buď zprzníš jméno (naprosto zbytečné) nebo si rozbiješ SQL dotaz (potenciálně nebezpečné a nepříjemné, protože člověk s takovým jménem se nebude moci registrovat v tvém systému).

Viděl jsem např. systém, který padal, když si uživatel chtěl do popisu určité entity zadat „aaa <-> bbb“ – chtěl tím naznačit šipku a poznamenat si vazbu mezi aaa a bbb – uživatel má právo zadávat takové popisy – chyba byla v programu, protože ta data chtěl interpretovat jako XML fragment, což vyvolalo výjimku. Řešením bylo, zacházet s těmi daty jako s prostým textem a escapovat ho na výstupu (XHTML, LDAP, SQL – pokaždé jinak).
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
13.11.2012 10:06 kavol | skóre: 28
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
stále mi nějak uniká, jak se to principielně liší od případu, kdy nastaví cenu zboží 0 (a nechá si ho poslat), což v daném příkladu může(*) i bez SQL injection?
Příklady obvykle popisují jen část problému –
fajn, a to na moji námitku, které řeší důvěru v onoho "brigádníka", odpovídá jak?
... představ si, že na tom příkladu bude student stavět a bude chtít nedejbože vyrobit skutečný elektronický obchod – přidá tam pár IFů, aby rozlišil, kdo je zákazník, kdo brigádník a kro správce, který může všechno. A určité akce umožní dělat jen určitým rolím. A myslí si, že to hezky zabezpečil. Jenže ho nikdo nenaučil, že mazaně formulovaný uživatelský vstup může narušit SQL dotaz a nejen narušit, ale i spustit vlastní příkazy.
nechápu, proč si mám představovat takové nesmysly

normální student bude ve studiu pokračovat a naučí se příklady, jak to zabezpečit

stále nerozumím, proč chceš po učitelce v první třídě, nebo kde se učí, že 1 + 1 jsou dvě, aby vysvětlovala, že i2 + i2 jsou mínus dvě
Sémantické kontroly dávají samozřejmě smysl už na vstupu – např. když zadáváme věk, mělo by to být kladné číslo ne větší než třeba 256.
vs
tedy například jaká mám pravidla na jméno zboží, že nepřipouštím název Little Bobby Tables
To je špatně, ...
jo aha :-)

Křišťálová koule právě není potřeba. Musíš mít pouze jasno v tom, co jsou data (parametry) a co je kód (zde SQL příkaz) a nikdy se ti to nesmí pomíchat.
a říkám něco jiného?
V principu nějak takhle:
vykonejSQL("INSERT INTO tabulka (sloupeček_1, sloupeček_2) VALUES (?, ?);", array($_POST["parametr_1"], $_POST["parametr_2"]));
tzn. není potřeba nic věštit a data jsou od kódu jednoznačně oddělena a nikdy se nestane, že by se data interpretovala jako kód.
parametr_1="1,1); DROP TABLE ..."

jo aha :-)

... Řešením bylo, zacházet s těmi daty jako s prostým textem a escapovat ho na výstupu (XHTML, LDAP, SQL – pokaždé jinak).
no, pak jsme si asi nerozuměli

ještě jednou:

... přičemž už vím (samozřejmě pokud jsem v programu neudělal chybu), co předávám tomu výstupnímu filtru (který bere čistá data a sám k nim přidává onu potřebnou omáčku pro různé formáty)

domníval jsem se, že mluvíš o konstrukci celého výstupního řetězce
xkucf03 avatar 13.11.2012 20:37 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
fajn, a to na moji námitku, které řeší důvěru v onoho "brigádníka", odpovídá jak?

Příklad (špatně) vysvětluje část problému zvanou „práce s databází“, zatímco část věnující se návrhu a tomu, že uživatelé můžou mít různé role a role různá práva, přeskakuje – to by bylo v pořádku, tu druhou část si může člověk dostudovat později, ale ta první část by měla být vysvětlena pořádně resp. bez chyb – jinak budou ti studenti stavět na chatrných základech a jejich systémy budou děravé…
nechápu, proč si mám představovat takové nesmysly

…budou si myslet, že už umí pracovat s databází a vrhnou se na studium něčeho jiného – aby mohli co nejdříve postavit kompletní aplikaci – ale kvůli těm mizerným základům se to celé zhroutí. Asi jako kdyby se zedník ještě nenaučil stavět pevné zdi, ale už se vrhnul na střechu, spotřeboval na to spoustu dřeva a tašek a nakonec mu to celé spadlo. To je škoda, ne?
normální student bude ve studiu pokračovat a naučí se příklady, jak to zabezpečit
Bezpečnost by neměla vypadat tak, že to uděláme blbě a pak se to snažíme nějak „zabezpečit“ – dodatečně tam můžeš dodělávat věci typu IDS/IPS, ochrana proti DoSu, ale aplikace jako taková by měla být bezpečná už od začátku.
jo aha :-)
Věk člověka si celkem snadno definujeme jako kladné číslo v určitém rozsahu a limitování těch hodnot neděláme kvůli bezpečnosti SQL dotazů, ale spíš jako ochranu proti překlepům – pokud někdo zadá „23,“, tak je jasné, že tam tu čárku má omylem a je potřeba to opravit, stejně jako když někdo napíše „padesát“, to by nám v systému dělalo bordel, protože bychom to nemohli strojově zpracovat, takže takové hodnoty zakážeme (znovu opakuji: neděláme to kvůli zabezpečení). Oproti tomu název nějaké entity (osoby, firmy, spolku atd.) lze jen těžko nějak blíže specifikovat, a tak je lepší povolit obecně jakýkoli řetězec – klub francouzštinářů si tam nacpe francouzské znaky, webařská firma si tam dá ostré závorky, jiná firma si tam dá &, klub hackerů bude mít v názvu apostrofy a středníky… nemá cenu to řešit – prostě libovolný textový řetězec, maximálně omezíme délku a je to. Jiné omezování vede akorát k tomu, že části uživatelů způsobíš problémy a bezpečné to stejně nebude, protože určitě na něco zapomeneš – vybalancovat se to nedá. (a i kdybys nějaké filtrování nastavil, stejně se nesmíš vykašlat na escapování pro daný výstupní formát).
a říkám něco jiného?
Vzhledem k tomu, jak se tu zastáváš lepení SQL dotazů z kousků textu (byť údajně prohnaných nějakým filtrem), tak mi přijde že ano – data a kód v takovém případě splývají.
parametr_1="1,1); DROP TABLE ..." jo aha :-)
Dostuduj si, jak fungují parametrizované SQL dotazy (ať už v Javě, PHP, kdekoli, princip je stejný). Díky nim takový útok není možný.
přičemž už vím (samozřejmě pokud jsem v programu neudělal chybu), co předávám tomu výstupnímu filtru (který bere čistá data a sám k nim přidává onu potřebnou omáčku pro různé formáty)
Co jsou to „čistá data“? Jak v této formě bude vypadat třeba firma „Truhlář & syn“? Nebo „Hell's Kitchen“? Nebo třeba „Hackers \Contest 2012“?

První ti rozbije XHTML/XML, druhé ti nepůjde vložit do databáze a třetí ti rozbije dokument v LaTeXu. Pokud to ošetříš s ohledem na jeden výstup, rozbiješ to ve dvou zbývajících. Pokud zakážeš vše kromě [A-Za-U0-9], tak se to snad nerozbije, ale nebudeš plnit uživatelské požadavky, protože uživatelé chtějí zadat skutečný název firmy nebo své akce, nikoli zkomolený. I kdyby na to byli ochotní přistoupit, je zbytečné takhle degradovat software jen kvůli vlastní neschopnosti.

P.S. Reálné příklady z praxe: e-mailový systém, že kterého chodí nesmyslné paznaky v předmětech zpráv, protože ty matláky nenapadlo, že když zvláštní znaky na vstupu escapují pro HTML, nebude to v e-mailových hlavičkách* fungovat, protože tam se ty znaky kódují jinak. Nebo děravé diskusní fórum, protože kodér si myslel, že je lepší filtrovat než escapovat.

*) a v těle zprávy jim to funguje jen shodou náhod, protože to posílají taky v HTML
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
16.11.2012 14:16 Franta
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Nepoužívání parametrizovaných dotazů může vést např. k takovýmto veselým příhodám.
Bystroushaak avatar 11.11.2012 17:30 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
SQL injection může vést např. k tomu, že brigádník, který měl původně jen vkládat fotky nebo popisky zboží, bude najednou mít možnost označit nějakou objednávku jako zaplacenou a nechat si poslat zboží zadarmo (nebo si nastavit slevu 90%, na což by se ani nemuselo přijít).
No, tj docela lame. Chytřejší brigádník dumpne databázi, emaily a hesla uživatelů otestuje vůči smtp, funkční accounty pak prodá na TORu. Na číslech kreditek se napakuje sám, případně je taky prodá, i když by na tom prodělal.
Bedňa avatar 8.11.2012 13:46 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Tak toto je chyba jak noha, raz naučíš niekoho takto písať a už mu to nevytlčieš z hlavy.
KERNEL ULTRAS video channel >>>
pavlix avatar 7.11.2012 23:51 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Odpovědět | Sbalit | Link | Blokovat | Admin
Z mého pohledu jsou stránky z hlediska HTML obsahu takřka perfektní. CSS vypadá dobře. Za sebe bych vytknul příponu .php, která podle mě nemá v adresní řádce co dělat. Jo... to hýbající se menu je trochu podivné.

Mezi učiteli informatiky středních škol bude toto opravdu těžký nadprůměr. A rád bych na toho hodnocení poslal autorce odkaz, ale nevím, jestli se to hodí.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
pavlix avatar 7.11.2012 23:52 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Informační stránku nemám čas zkoumat do detailů, ale na první pohled rovněž vypadá dobře.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
8.11.2012 00:41 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Odpovědět | Sbalit | Link | Blokovat | Admin
Obsah se dá zkousnout, pokud to bude pro ZŠ nebo úvod v prvním roce středoškolského studia nepočítačového zaměření :-D. Zdroják jsem nezkoumal, sám píšu hnusy (switch v perlu by mohl vyprávět :-D). Forma se mi líbí, není to vůbec přeplácané a je to takové hezky jednoduché. Jediný co se mě na formě nelíbí je to menu.
Intel meltdown a = arr[x[0]&1]; karma | 帮帮我,我被锁在中国房
xkucf03 avatar 10.11.2012 13:21 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Proč je špatný switch v Perlu?
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
10.11.2012 14:05 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
No já nevím, dělal jsem parser a na windowsím perlu to nejelo a pak jsem zjistil, že je switch-case obsolete a má se používat něco jinýho.
8.11.2012 05:41 popo
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Odpovědět | Sbalit | Link | Blokovat | Admin
Ok, co se mi nelíbí nebo mi přinejmenším přijde divné...

Tam, kde menu končí, text stránky začíná natékat i pod menu.

K tagům script by se hodilo dopsat: type="text/javascript"

Toto je divné: <style type="text/css" style="display:none">

V CSS je divné stytlování tagů, které ani nejsou použity: dl, dt, dd, em, legend

stylování tagu br

styly by mohli být v souboru
8.11.2012 09:03 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Už to tady několikrát zaznělo - je to web pro blbce (rozuměj studenty VOŠ), co mnohdy vidí tyhle věci prvně v životě. Je jasné, že toho kdo se v tom alespoň občas hrabe, to nijak neosloví ale ten kdo o tom neví zhola nic bezpochyby uvítá že tam najde to podstatné v kostce a bez zbytečných keců.

Pokud se tím bude chtít zaobírat víc, tak už si pak aktuální a potřebné dohledá.
8.11.2012 10:25 kavol | skóre: 28
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Odpovědět | Sbalit | Link | Blokovat | Admin
mohl bych s dovolením autora tohoto blogu taky o něco poprosit?

- ráčil by si po sobě číst, co píše, a pokud má nějakou dysfunkci, na kterou se chce vymluvit, že prostě nemůže psát bez chyb, tak se vždycky s někým domluvit, aby mu to před zveřejněním skouknul?

zopakovat překlep "stánky" místo "stránky" dvakrát v jednom textu a ještě to tak zkopírovat z jednoho webu na druhý už mi přijde moc, nemluvě tedy o těch dalších zjevných i méně zjevných nesmyslech ...
rADOn avatar 8.11.2012 10:55 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Odpovědět | Sbalit | Link | Blokovat | Admin
Design mi prijde osklivej ale to je vec nazoru… technicky je to ok. Technologicky cisty, zadny modni blbiny, coz je pro nekoho kdo chce web ucit dobra vizitka.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
frEon avatar 8.11.2012 13:28 frEon | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Odpovědět | Sbalit | Link | Blokovat | Admin
co jsem to zbezne prolit, ma to dobre udelany. Rozhodne je to prehlednejsi nez vetsina dnesnich webu...

<rant>

Sice to nevypada zrovna krasne, ale furt lepsi nez dnesni moderni web2.0 srace, kde je dneska moderni od applu zkopirovany sedy pismo na trochu svetlejsim sedym pozadi z cehoz mi je nabliti. Coz me privadi k tomu, ze delat moderne vypadajici cokoliv je pico**** protoze co je moderni dnes zitra nebude a bude k smichu vsem.

</rant>
Talking about music is like dancing to architecture.
8.11.2012 13:57 Radovan Garabík
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Odpovědět | Sbalit | Link | Blokovat | Admin
Krásne prehľadné, bez balastu v HTML kóde, štruktúra logická cez divy (nie tabuľky), dobré metadáta v hlavičke, vidno že tomu venovala nejaké úsiel a vedela, čo robí (čo sa o niektorých rádobybýbojároch nedá povedať).

Možno by to chcelo HTML5, ale asi to robila "predtým".
Ondroid avatar 9.11.2012 22:30 Ondroid | skóre: 32 | blog: Hombre
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Odpovědět | Sbalit | Link | Blokovat | Admin
Ten web je naprosto ok.
Bystroushaak avatar 9.11.2012 23:28 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Stánky učitelky WWW na vyšších odborné škole
Naprosto ok není.

Je ok po stránce html, ale po stránce vzhledu je to katastrofa, minimálně co se kontrastu týče, ala červené písmo na oranžovém pozadí. Dále layout je divně nedotažený a na mém 23" monitoru to působí velmi uboze, jak se to celé krčí v pár stech pixelech nalevo nahoře.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.