Starší komentáře ke článku: Redakční systém pro každého 4.

Zpět na článek | Úvodní stránka Interval.cz

Avatar

Autor komentáře: jeeff

Datum vložení: 9.4.2003 7:26:31

Taketo nieco je uplne uzasne:

select
ID_Autor
from
redaction_autori
where
heslo = '" & passw & "' and
prijmeni = '" & surname & "'

tabulka ma nazov po anglicko cesky (redaction_autori), parametre su po anglicky (passw, surname) a atributy su cesky... Takyto kod vyzera uplne namakane, clovek potom duma co ako nazval. Co takto taketo nieco:

SELECT
ID_Author
FROM
redaction_authors
WHERE
password = '" & passw & "' AND
surname = '" & surname & "'

a este taka vec, preco je vsetko malymi pismenami a prave ID_Author je velkymi? To ma nejaky vyznam? Ked uz robime priklady pre zaciatocnikov, robme ich prosim tak, aby si z nich zobrali nejake dobre navyky. Co na to pan sefredaktor???

Avatar

Autor komentáře: Václav Mádl

Datum vložení: 9.4.2003 7:51:09

dobrý den, snažil jsem se na to reagovat už jednou v minulosti - problém je v jedné věci - téma redakční systém jsem v minulosti přebral od jiného autora. Bohužel již byl celý proces tvorby nastartován do té míry, kdy existoval fungující datový model a část funkčnosti aplikace. Myslím si, že je v tomhle případě lepší neplést hlavu začátečníkům změnami v datovém modelu typu "přepište si název tohoto sloupce do angličtiny a změňte si všechny SQL dotazy, kterých se to týká". Věřte, že příští série článků na jiné téma tímto neduhem už trpět nebude.

Avatar

Autor komentáře: Lukas

Datum vložení: 9.4.2003 10:27:52

Proc v dnesni dobe clanky o ASP, kdyz tu mame ASP.NET??

Avatar

Autor komentáře: Slavomir Furman

Datum vložení: 10.4.2003 9:42:03


Cital som clanok. Pravdu povediac neviem, ci som sa skor pobavil alebo mi je skor smutno. Mozno aj to aj to.

Aby bolo jasne co konkretne mam na mysli, tak skusme rovno otazku.

Co sa asi stane ak do prihlasovacieho formulara, ktory predstavuje stranka "login.asp" niekto zada do pola "Prijmeni" napr. nieco take:

' or 1=1 --

(do pola "Heslo" nemusi zadat nic, to je jedno)

Este zaujimavejsie to moze byt, ked by zadal napr. nieco take:

'; drop table redaction_clanky

a samozrejme su mozne aj dalsie variacie, ked sa utocnik zamera napr. na zistovanie informacii o databazovom servri a databazach na nom.

Ano, klasicka ukazka "SQL Injection" utoku. V podstate mozno povedat, ze to ako autor clanku urobil tu "login.asp" stranku, je ukazka ako by sa to robit nemalo.

Je mi jasne, ze clanok ma ukazovat ine veci ako dosledne osetrenie vstupov, ci kontrolu parametrov pouzivanych v databazovych volaniach, a autor sa snazil avolit najjednoduchsie riesenie, aby vynikla podstata clanku ('ako vytvorit redakcny system') a nie technicke detaily okolo. No predsa len si myslim, ze taketo veci by sa nemali publikovat, kedze sa ti co zacinaju s programovanim, sa mozu naucit doslova zlym a z bezpecnostneho hladiska velmi nevhodnym rieseniam, veriac, ze ide o tie najlepsie postupy, kedze doveruju danemu clanku a zdroju.

Minimalne by tu malo byt upozornenie, ze dany kod je len jednoducha ukazka ako to robit a nie je vhodneho aplikovat v realnej praxi. Idealnejsie by bolo prepisat to tak, aby sa vybranym sposobom zamedzilo moznosti podobnych utokov.

Mozno robim vela kriku pre nic, no nechcel by som byt zamestnavatelom alebo klientom ludi, ktori sa ucia programovat z takychto clankov.

mimochodom, ked pozeram na databazovu schemu ako bola definovana v prvej casti tejto serie clankov (<a href='http://interval.cz/clanek.asp?id=854)' target='_blank'>http://interval.cz/clanek.asp?id=854)</a>, nikde tam nevidim v tabulke "redaktion_autori" stlpec heslo. No to je popri tej prvej veci len detail.

Avatar

Autor komentáře: Slavomir Furman

Datum vložení: 10.4.2003 9:45:21

Uhmm...

V tom druhej ukazke treba samozrejme do pola "Prijmeni" zadat:

'; drop table redaction_clanky --

,na konci musia byt tie dva znaky aby sme odkomentovali pripadny zvysok SQL prikazu, nech uz je akykolvek.

Ospravedlnujem sa. Ten clanok ma trochu vyviedol z miery...

Avatar

Autor komentáře: Tomas

Datum vložení: 11.4.2003 0:49:02

Z te visualBasicovske syntaxe ASPcka mi beha mraz po zadech,.. to je teda dilo. :-)

Avatar

Autor komentáře: brok

Datum vložení: 7.9.2004 14:57:32

dopracujem se někdy ke konci? bylo by to fajn

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 7.9.2004 16:03:05

Takřka určitě ne, ASP je mrtvá technologie (a autor tohoto seriálu je ještě mrtvější ;-)

Avatar

Autor komentáře: brok

Datum vložení: 10.9.2004 9:42:59

aha hmhm :/
a v čem se dá ještě redakční systém udělat? kromě PHP... :)

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 10.9.2004 10:35:41

Redakční systém je možno vytvořit takřka z čehokoli, z technologií zde na Interval.cz je to například ASP.NET nebo Java, která má zvláště zajímavé možnosti, díky spojení server-side a client-side technologie. Logické postupy, používané při návrhu RS, jsou vždy takřka shodné, protože nezávisí na technologii, nicméně konkrétní implementaci je málokdo ochoten provést jen tak "na ukázku", většina lidí takové řešení buď prodává nebo vyvíjí jako samostatný open source projekt. Doporučil bych Vám trochu hledání na netu, určitě najdete nějaké již hotové řešení, které budete moci použít nebo které Vám poslouží jako inspirace ;-)

Avatar

Autor komentáře: brok

Datum vložení: 29.9.2004 16:04:20

Toho jsem se bál :)
Mno hledal jsem a hledat tedy budu dál.
Díky

Zpět na článek | Úvodní stránka Interval.cz