Autor Zpráva
David1256
Profil
Dobrý den,

jsem studentem posledního ročníku gymnázia a přemýšlím nad tím, že bych se zúčastnil SOČky(středoškolská odborná činnost). Napadlo mě to z toho důvodu, že jsem několik měsíců pracoval na tomto webu test.metalforever.info. Otázka zní, jestli je to práce vhodná pro SOČ? Co jsem tak koukal, na ty ostatní projekty v sekci "Informatika", tak se jednalo spíš o nějaké účelové aplikace, popřípadě hry. Nicméně si říkám, že jsem odbornost prokázal stejným způsobem jako ostatní projekty, tak proč to nezkusit. Hlavní plus vidím v tom, že můj web běhá komplet Ajaxově, což není dnes na internetu vůbec běžné. Abych pravdu řekl, neznám žádný portál rozsahu, co jsem vytvořil já, který by běhal na Ajaxu. Navíc jsem pořešil při tvorbě tohoto webu již téměř všechny "zápory" Ajaxových webů jako třeba změna url při načtení jiné stránky, verze webu pro uživatele bez JS, což slouží zároveň ke zlepšení SEO nebo třeba integrace FB like buttonu do článků v Ajaxově chodícím webu, což se mi zdá jako docela obtížná věc. K webu mám vytvořenou vlastní administraci s možnostmi všech úprav, co jsou na webu potřeba a nedávno jsem do webu ještě přidal kalendář akcí, což je vlastně taková "miniaplikace v aplikaci", která, bych řekl, se může vydávat za docela solidní věc, vzhledem k tomu jak proporcionálně a zároveň úsporně funguje, což si myslím přidává další + tomuto projektu. Nechci tu o tom jenom tak plácat, ale chtěl jsem to alespoň trochu přiblížit. Otázka zní, jestli se tam mám přihlásit nebo jestli je to zcestná myšlenka, popřípadě jestli tu máte někdo se SOČkou třeba vlastní zkušenost apod.

Díky moc.
_es
Profil
David1256:
Nepodarilo sa snáď web predať? ( Prodávám web (recenzní, hudební, novinkový portál))

můj web běhá komplet Ajaxově, což není dnes na internetu vůbec běžné
Niektoré také pseudoodkazy na tvojom webe sú nedostupné bez JS a teda sú nedostupné aj vyhľadávačom. To má byť ako nejaký prínos?
David1256
Profil
Jak se to vezme. Portalum, co jsem oslovil, se web libil, ale nikdo nema penize. Vetsinou to jsou ne moc vydelecne weby, a tak si nemohou dovolit utracet. Respektive ani nemaji moc co utracet. Nakonec budu ale web nasazovat portalu metalista.cz, ovsem zadarmo, ale aspon bude ten web aktivni. Nevim, co presne myslis temi pseudoodkazy. Kdyz jsem to testoval bez js, fungovalo to.


Ted jsem si uvedomil, ze ten kalendar akci mam az na nove domene test.metalista.cz
_es
Profil
David1256:
Nevim, co presne myslis temi pseudoodkazy. Kdyz jsem to testoval bez js, fungovalo to.
Nefungujú „pseudoodkazy“ v sekciách „ČLÁNKY ČTENÁŘŮ“, „POSLEDNÍ VIDEOKLIP“, „KONCERTY, FESTIVALY“, „KRÁTKÁ OZNÁMENÍ“.
David1256
Profil
Dik, uz vim, co myslis. Ja jsem tyto sekce na nove domene skoro vsechny odstranil, takze mi to nejak uniklo. Nicmene, jaky mas nazor ohledne te soc?
Sir Tom
Profil
David1256:
Do SOČky se přihlaš! Je to skvělá zkušenost a alespoň uděláš něco, co někteří tví vrstevníci nikdy neudělají. I když to nevyjde - zkušenost je to velká. Hlavně ta zkušenost prezentování svého díla před publikem... :) SOČ určitě doporučuji!
margin
Profil *
David1256:
Kdyz jsem to testoval bez js, fungovalo to.
Nefungují třebas "odkazy" na "Články čtenářů".
Když jsem vypnul JS, dostal jsem se třebas na článek http://test.metalforever.info/?stranka=novinky&cisloStranky=1&rubrika=recenzealb&cl=2268, na ten se dostane i Google, ale z takové adresy se na článek nedostaneš se zapnutým JS. Což znamená, že Google články zná, ale čtenáři se zapnutým JS se na ně z Google nedostanou.
Asi ve čtvrtině případů mám problém dostat se do podmenu Novinek, když jedu s myší pomalu, tak vždy. Obdobně podmenu Soutěže.

Úspora, které dosáhneš použitím AJAXu není tak velká, protože vše, co se načítá opakovaně, se kešuje.
David1256
Profil
margin:
Díky. To už jsem chtěl kdysi opravit, ale koukám, že jsem na to zapomněl. Teď by to už mělo fungovat.
<?php
$clanek = $_GET['cl'];
$rubrika1=mysql_query("select rubrika from news where id=$clanek");
$rubrika=mysql_result($rubrika1, 0);
if($_GET['cl'])
echo "<script>window.location.href='http://test.metalforever.info/#!stranka=novinky&cisloStranky=1&rubrika=$rubrika&clanek=$clanek'</script>";
?>
Nyní už budou vést odkazy z Googlu na správný obsah. Ty odkazy v lištách pak taky ještě opravím. O tom jetí myší pomalu vím, ale zatím jsem nenašel způsob, jak tuto chybu odstranit. V návrhu totiž bylo, že musí být vidět část té čárkované čárky (1px), a tak jsem ten 1px odsadil marginem top a tím vzniká ten problém.

Si tak říkám, že bych mohl do té SOČky pojmout tu práci třeba jako "Vypořádání se s úskalím Ajaxu, aneb cesta za rychlejším webem.".
Ivy
Profil
Sir Tom:
I když to nevyjde - zkušenost je to velká. Hlavně ta zkušenost prezentování svého díla před publikem
Plně souhlasím.
Lamicz
Profil
David1256:
Aspoň si ošetři SQL injection než to někam pošleš...
David1256
Profil
Kde mám problém se SQL injection? Já nejsem 2x odborník přes bezpečnost webů, ale SQL injection se dá použít jen skrz nějaký input, který je navázaný na skript, který komunikuje s db ne? Ale dá se ovlivnit jen část skriptu a teď nějak si nedokážu představit, jaký by mohl být SQL injection útok na ten můj web. Asi ta hrozba existuje, ale nevím kde. Mohl bys mi to prosím napsat? Díky.
Jan Tvrdík
Profil
David1256:
Všechny vstupy, které posíláš do databáze je potřeba ošetřit pomocí mysql_real_escape_string, případě lze použít intval pro celočíselné vstupy.

Bezpečná varianta je tedy např:
$clanek = (int) $_GET['cl'];
$rubrika1 = mysql_query("select rubrika from news where id=$clanek");

Pro více informací hledej. Bylo toho napsáno spoustu (jak tady na diskusi, tak jinde).
David1256
Profil
Však to vím, ale co by se muselo dosadit za řetězec místo $clanek, aby to nějak ohrozilo web?
Again
Profil
David1256:
SQL injection se dá použít jen skrz nějaký input
Není pravda, co takhle třeba URL adresa? Obecně platí, že je potřeba ošetřit všechny vstupy, které posíláš do databáze viz. Jan Tvrdík

SQL injection je založeno na vsunutí vlastního SQL dotazu. Takže pokud bych podstrčil nějaký řetězec s apostrofem a dopsal libovolný SQL dotaz, tak bych mohl např: vymazat všechny články a ve své podstatě si dělat s databází co se mi zlíbí, což by se ti určitě nelíbilo.
David1256
Profil
Jj, to vím, ale co by se třeba muselo dát za řetězce místo $clanek, aby to něco udělalo? Třeba delete * from tabulka by asi nefungovalo ne? Nebo ono jde v jednom dotazu mysql_query udělat více dotazů?
jenikkozak
Profil
David1256:
Třeba delete * from tabulka by asi nefungovalo ne?
To asi ne. Článek s id 1; DELETE FROM tabulka by už byl účinnější. Stačí trochu pohledat.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0