Preci, kdyz je neco standard, tak to neni treba includovat. U cpp je to presne naopak. Tam se nove vymyslene veci musi importovat, aby clovek mohl pracovat :)
Příspěvky odeslané z IP adresy 2001:718:2601:26c:d1d3:8c...–
oprava
uint8 | signed char
Tohle cpp pojmenovani mi prijde tale zcela nelogicke :) Tri ruzne nazvy pro float typ.
float16 | float
float32 | double
float64 | long double
http://www.cplusplus.com/doc/tutorial/variables/
Nevim, jaka je to knihovna, ale mi prijde inteligentni zapisovat
uint8 | unsigned short int
uint16 | unsigned int
uint32 | unsigned long int
uint64 | unsigned long long int
u jako unsigned, int jako integer a pocet bitu. Vsechno ostatni zapisy, co jsem zatim videl, jsou nesmysl, chaos, treba tady za tou carkou z cpp.
Je tam tolik textu, ze to prehlid. To se stava :)
No, musis uvazovat stejne, jako to delas v html
<table>
<tr>
<td>a</td>
<td>b</td>
</tr>
<tr>
<td>c</td>
<td>d</td>
</tr>
</table>
<table>
<tr>
<td colspan=2 rowspan=2>a b c d</td>
</tr>
</table>
a b
c d
a b c d
1. Spojis obsah vsech bunek v radcich a pak ve sloupcich a = a + b + c + d (innerHTML)
2. Nastavis spravne colSpan, rowSpan podle toho, kolik bunek slucujes na jednom radku a kolik radku slucujes.
(pozor, v js byva obvykle pro druhe slovo velke pismeno x.rowSpan ale <x rowspan="...">)
3. Odtranich bunky navic (removeChild)
Jquery nepouzivam, mozna se to tam mozna da napsat nejak inteligentneji.
Jeste by mozna bylo dobre pridat k seznamu atributu tez poradi a mozna ruzne druhy viditelnosti na ruznych strankach. Jakoze, aby si mohl uzivatel navolit, ze chce zobrazovat treba jen 3 konkretni atributy a ostatni az pod zalozkou "kompletni specifikace" a nemuzel upravovat sql dotaz.
Rezistor
- skupina "el. soucastky"
- skupina "rezistory"
- atribut 1 "5k8"
- atribut 2 "prodejce praha"
Skupina
- 1, "el. soucastky" // nebo muzes pridat sloupec s id atributy
- 2, "rezistory"
Atributy skupiny
- id, id_skupina, nazev
- 1, 1, "nazev"
- 2, 1, "pouzdro"
- 3, 2, "napeti"
Kazda skupina ma seznam vlastnich nazvu atributu.
Vsechny ty moznosti bys musel ukazat testovacim spustitelnym kodem.
a) to vypada nadejne, cisla resim cislo*1
b) nesmyslne prisne
Sql dotaz obvykle lze narusit dvema zpusoby
- zmena podminky
WHERE x=5 -- $get = "5"
WHERE x=5 OR 1=1 -- $get = "5 OR 1=1" zobrazi celou tabulku
WHERE x='5' OR '1'='1' -- $get = "5' OR '1'='1"
- ukoncenim/doplnenim dotazu a pridanim vlastniho
WHERE x=0; SELECT * FROM users -- a podobne
Cili, mimo znaky ' " ; a par dalsich je zbytecne neco zakazovat.
c) Vynechal jsi to treti zasadni cast. Zobrazovani stranky pres htmlspecialchars().
d) Vynechal jsi, jak resis UTF
e) Co htaccess a zablokovani citlivych casti php kodu?
Mimochodem, predpokladej, ze ti muze hacker zmenit cast kodu nebo session. Takze bys mel pred operaci, kterou dela admin nebo uzivatel vzdy otestovat, zda ma tomu opravneni a zda ti nekdo nezmenil hodnotu uzivatele v session za jinou, neplatnou. Nebo tez jedno s opatreni je, po kazde sql pripojeni ukoncit, aby nemohl nic vytahovat z db. Nebo mit mit dva ruzne db uzivatele, jednoho pro overovani existence uzivatelu, pouze pristup do tabulky uzivatele a druheho, ktery muze tahat data.
A takovych vychytavek je cela rada.
"Je zde kladen velký důraz na bezpečnost celé aplikace"
"Je to zcela unikátní a specifická záležitost."
V tom pripade to udelej poradne a nezahravej si s posilanim casti sql dotazu pres $_GET.