home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 April / Chip_2003-04_cd1.bin / tema / krypta / articles.php@ID=142 < prev    next >
Text File  |  2003-02-02  |  18KB  |  347 lines

  1. <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <html>
  3. <head>
  4.  <title>Krypta.cz - Ochrana dat v databßzφch a (nejen) bezpeΦnostnφ problΘmy (2.dφl)</title>
  5.  <link rel="StyleSheet" href="server/main.css" type="text/css">
  6.  <link rel="SHORTCUT ICON" href="server/favicon.ico">
  7.  <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  8.  <meta http-equiv="Cache-control" content="no-cache">
  9.  <meta http-equiv="Pragma" content="no-cache">
  10.  <meta http-equiv="Expires" content="0">
  11.  <meta name="robots" content="ALL,FOLLOW">
  12.  <meta http-equiv="Content-language" content="cs">
  13.  <meta name="description" content="Internetov² bezpeΦnostnφ portßl, zab²vajφcφ se kryptografiφ (Üifrovßnφm), ochranou dat, internetovou bezepeΦnostφ a poΦφtaΦov²mi viry">
  14.  <meta name="keywords" content="Üifrovßnφ cryptography pgp des aes rsa dss digital signatures pki linux free bezpeΦnost ochrana hacking cracking virus worm">
  15.  <meta name="copyright" content="Copyright (C) 2000-2002 Krypta.cz - <a href=mailto:michal.till@krypta.cz>Michal Till</a> a <a href=mailto:jan.kulveit@krypta.cz>Jan Kulveit</a>.">
  16.  <!-- No caching for this document.Trying to write to art142.html. ?> -->
  17.  
  18.  <!-- output.php -->
  19.  
  20.   <script language="JavaScript">
  21.   <!-- 
  22. //    if(top != self) { window.top.location.href=document.location; }  -->
  23.   </script>
  24.  
  25.  
  26. <!-- NAVRCHOLU.cz -->
  27. <script language="JavaScript" type="text/javascript">
  28. <!--
  29. pxDepth = screen.pixelDepth;
  30. if (!(pxDepth > 0))
  31.     pxDepth = screen.colorDepth;
  32. if (!(pxDepth > 0))
  33.     pxDepth = 0; 
  34. document.write("<img style=\"position:absolute; top:0px; left: 0px;\" src=\"../hit.navrcholu.cz/hit@id=00039669;n=1;screenx=" + screen.width + ";screeny=" + screen.height + ";cdepth=" + pxDepth + ";ref=" + escape(top.document.referrer) + "\" width=\"1\" height=\"1\" alt=\"\">");
  35. // -->
  36. </script>
  37. <noscript>
  38. <img style="position:absolute; top:0px; left: 0px;" src="../hit.navrcholu.cz/hit@id=00039669;n=1" width="1" height="1" alt="" border="0">
  39. </noscript>
  40. <!-- NAVRCHOLU.cz - konec -->
  41.  
  42. <STYLE Type=text/css>
  43.     BODY                { font-size:110%; background-color: #ffffff; color: #000000; margin: 0px;   background-image: url(images/backgr.gif); }
  44.  
  45.  
  46.  
  47.     .Copyright        { color: #000000; }
  48.     .Copyright A    { color: #000000; }
  49. </STYLE>
  50. </head>
  51. <SCRIPT>
  52. </SCRIPT><SCRIPT Src=charts.php@version=1621></SCRIPT><SCRIPT>
  53.  // Nalezeno  1 polozek. 
  54. var SectionTitles=new Array( "Ochrana dat v databßzφch a (nejen) bezp" , "    D∙v∞ryhodnΘ informace v databßzi" , "    ProblΘm odvoditelnosti dat" , "      Otßzka redundance dat" , "    Monitory sprßvnosti" );
  55. var SectionURLs=new Array( "142" , "142#Title1" , "142#Title2" , "142#Title3" , "142#Title4" );
  56.  
  57. var BrothersNames = new Array("Ochrana dat v datab_25E1z_25EDch a (nejen) bezpe_25E8nostn_25ED probl_25E9my (1.d_25EDl)","Ochrana dat v datab_25E1z_25EDch a (nejen) bezpe_25E8nostn_25ED probl_25E9my (2.d_25EDl)","SQL v praxi aneb bezpeΦnostnφ oddech","");
  58. var BrothersIDs = new Array("140","142","146","");
  59. //=====INFO======
  60. ItemName='Article142';
  61.  
  62. InIFrame='No';
  63. TableNum=2; 
  64. ItemID=142; 
  65. ArticleType='1'; 
  66. Action='articles'
  67. ItemTitle='Ochrana dat v datab_25E1z_25EDch a (nejen) bezpe_25E8nostn_25ED probl_25E9my (2.d_25EDl)';
  68. ItemComment='Ochrana dat v datab_25E1z_25EDch a (nejen) bezpe_25E8nostn_25ED probl_25E9my (2.d_25EDl)';
  69. TabName='Articles'
  70. Parent1Title='Databßze' ;
  71. Parent2Title='BezpeΦnost a anonymita' ;
  72. Parent1ID='51' ;
  73. Parent2ID='9' ;
  74. ParentTitle='Databßze' ;
  75. AuthorName='Michal Till' ;
  76. AuthorDesc='' ;
  77. AuthorEMail='Michal.Till_40Seznam.cz' ;
  78. AuthorID='1' ;
  79. ItemDate='17.2.2002';
  80. Views='215' ;
  81. Average='1.00' ;
  82. Grade='1' ;
  83. NumVotes='1' ;
  84. SourceName='' ;
  85. SourceURL='' ;
  86. SourceLink='' ;
  87. Ref1URL='' ;
  88. Ref2URL='' ;
  89. Ref3URL='' ;
  90. Ref4URL='' ;
  91. Ref5URL='' ;
  92. Ref1Link='' ;
  93. Ref2Link='' ;
  94. Ref3Link='' ;
  95. Ref4Link='' ;
  96. Ref5Link='' ;
  97. Ref1Desc='' ;
  98. Ref2Desc='' ;
  99. Ref3Desc='' ;
  100. Ref4Desc='' ;
  101. Ref5Desc='' ;
  102. Possible=1 ;
  103. Answer1='' ;
  104. Answer2='' ;
  105. Answer3='' ;
  106. Answer4='' ;
  107. Answer5='' ;
  108. Num1='';
  109. Num2='';
  110. Num3='';
  111. Num4='';
  112. Num5='';
  113. Type= ''; //def
  114. WebName='Krypta.cz';
  115. //====ENDINFO======
  116.  
  117. </SCRIPT>
  118.  
  119. <BODY>
  120. </SCRIPT>
  121. <SCRIPT Language=JavaScript Src="server/startfeatures.php@Rand=ddd "> </SCRIPT><SCRIPT Language=JavaScript Src="server/features.php"> </SCRIPT><!-- Rozdeleni na sloupce -->
  122.  
  123. <TABLE cellspacing="0" cellpadding="0" border="0" width="100%">
  124. <tr>
  125.  
  126. <!-- Levy sloupec -->
  127.  
  128.  
  129.  
  130. <td  width="161" align="center" valign="top">
  131.  
  132. <img src=space.gif height=1 width=161>
  133. <SCRIPT SRC=server/left_js.php@version=1621></SCRIPT></td>
  134.  
  135. <!-- /Levy sloupec -->
  136.  
  137. <!-- Mezera 1-->
  138. <td width=13 bgcolor="#006792" ><img src="images/spacer.gif" width="13" height="1" border="0" alt=""></td>
  139. <!-- /Mezera 1-->
  140.  
  141. <!-- Mezera 2 -->
  142. <td width=1 bgcolor=#1063A5><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
  143. <!-- /Mezera 2-->
  144.  
  145. <!-- Mezera 3 -->
  146. <td width=10><img src="images/spacer.gif" width="10" height="1" border="0" alt=""></td>
  147. <!-- /Mezera 3-->
  148.  
  149.  
  150. <!-- Prostredni sloupec -->
  151. <td align="center" valign="top">
  152.  
  153. <!-- Hlavicka -->
  154. <!-- Horni lista s reklamou -->
  155.  
  156. <TABLE cellspacing="0" cellpadding="0" border="0" width="100%" class="hrlista">
  157. <tr>
  158.  
  159. <!-- Logo-->
  160. <td VAlign=Top>
  161. <a href="default.htm"><img src="images/logo.gif"  style="z-index:100;" vspace=0 cwidth="222" cheight="48" border="0" alt="Krypta.cz - Magazφn o informaΦnφ bezpeΦnosti"></a>
  162. </td>
  163. <!-- /Logo -->
  164.  
  165. <td align=center>
  166. </td></tr></table>
  167. <!-- /Horni lista s reklamou-->
  168. <!-- /Hlavicka -->
  169.  
  170. <TABLE Width=100% Border=0><TD><SCRIPT>
  171. </SCRIPT><SCRIPT>
  172. ArticleHead('Ochrana dat v datab_25E1z_25EDch a (nejen) bezpe_25E8nostn_25ED probl_25E9my (2.d_25EDl)', 'Michal Till', 'Michal.Till_40Seznam.cz', '17.2.2002', '21:59:16', '╚lßnek');
  173. Intro('P°inΘÜφme vßm druhou Φßst miniserißlu o databßzφch. Dnes bychom se detailn∞ji podφvali na tzv. problΘm odvoditelnosti dat, kter² nastßvß p°i ΦßsteΦnΘm "zahalenφ" databßze, na otßzku redundance dat a na dalÜφ aspekty bezpeΦnosti.');
  174. ArticleBanner_smallres('margin-bottom:10px;margin-top:-3px;');
  175. </SCRIPT>
  176. <DIV Class=Article><SCRIPT>
  177. AuthorData();
  178. if (Type != 'Pure') if ((ArticleType!=19) && (ArticleType!=20)) ShowSections();
  179. ArticleBanner_bigres('margin-top:12px;margin-bottom:-3px;');
  180. </SCRIPT><A Name="Title1"><FONT Size=3><DIV Class=Headline>D∙v∞ryhodnΘ informace v databßzi</DIV></font>
  181. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  182.     Obsah jakkoliv citliv²ch (senzitivnφch) dat v databßzi nenφ pochopiteln∞ nic nep°irozenΘho, stejn∞ tak d∙vod∙ proΦ to Φi ono chrßnit m∙₧e b²t n∞kolik. M∙₧e jφt o  ·daj utajovan² jaksi z principu (typicky konkrΘtnφ plat), o ·daj utajovan² z d∙vodu ochrany t°etφ strany (typicky zdoj informace) nebo o ·daj kter² sßm o sob∞ nenφ nebezpeΦn², ovÜem jeho utajenφ je vßzßno na n∞kterß ji₧ zve°ejn∞nΘ skuteΦnosti. Jak jsem ji₧ zmi≥oval, mo₧nost co "nejjemn∞jÜφho" nastavenφ p°φstupov²ch prßv je v₧dy ₧ßdanß vlastnost. 
  183. </DIV></FONT></b></i>
  184. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  185.     
  186. Naprosto nejv∞tÜφ bezpeΦnostnφ problΘmy vznikajφ v situaci, kdy senzitivnφ jsou pouze n∞kterΘ informace. SystΘm toti₧ musφ volit mezi dv∞ma po₧adavky, kterß jdou p°φmo proti sob∞ : na jednΘ stran∞ mßme bezpeΦnost, kdy je pot°eba n∞kterΘ dotazy striktn∞ odmφtnout. Jak ji₧ bylo a jeÜt∞ bude zmφn∞no, n∞kdy je mo₧nΘ se Üikovn∞ zeptat na n∞kolik jin²ch v∞cφ, p°iΦem₧ v odpov∞di najdu i ·daj, kter² je systΘmem pova₧ovan² za tajn² a p°φm² dotaz na n∞j by skonΦil odmφtnutφm. Na druhΘ stran∞ je  zde po₧adavek na co nejv∞tÜφ dostupnost ve°ejn²ch dat, ovÜem p°i v∞tÜφm "tlaku" na zmi≥ovanΘ nep°φmΘ dotazy v sφtu nutn∞ uvφzne spousta dotaz∙ nevinn²ch.
  187. </DIV></FONT></b></i>
  188. <A Name="Title2"><FONT Size=3><DIV Class=Headline>ProblΘm odvoditelnosti dat</DIV></font>
  189. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  190.     M∞jme tabulku zam∞stnanc∙ imaginßtnφ spoleΦnosti, ve kterΘ budeme uchovßvat : jmΘno, pohlavφ, odd∞lenφ zam∞stnance, jeho plat, hodnocenφ a n∞jakΘ proh°eÜky (nap°. pozdnφ p°φchody).
  191. </DIV></FONT></b></i>
  192. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  193.     <PRE><FONT SIZE=2>
  194. Zam∞st.    Pohlavφ    Odd∞lenφ        Plat    Hodnoc.    Proh°eÜky
  195. =================================================================
  196. Durych    Mu₧    Provoznφ        5000    1    5
  197. Adßmek    Mu₧    Provoznφ        6000    1    1
  198. Liborec    Äena    EkonomickΘ        14000    2    0
  199. Ottovß    Äena    Provoznφ        12500    1    1    
  200. Dostßl    Mu₧    Personßlnφ        9000    3    4
  201. Novßk    Mu₧    Provoznφ        6000    2    1
  202. BareÜ    Mu₧    Reklamnφ        8000    1    0
  203. ╚ervenß    Äena    EkonomickΘ        15000    1    0
  204. Smetana    Mu₧    Personßlnφ        11000    2    0
  205. Cejlovß    Äena    Reklamnφ        8000    1    2
  206. Majer    Mu₧    EkonomickΘ        18000    1    0
  207. Patera    Mu₧    Provoznφ        8000    3    0
  208. Hßjkovß    Äena    PoradenskΘ        10000    1    0
  209. Hrub²    Mu₧    Provoznφ        11000    2    2
  210. TuΦn²    Mu₧    Provoznφ        6000    1    0
  211. Lßtal    Mu₧    Reklamnφ        10000    1    1
  212. </FONT></PRE>
  213. </DIV></FONT></b></i>
  214. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  215.     
  216. VÜechny sloupce krom∞ pohlavφ a odd∞lenφ pova₧ujme za tajnΘ (vΦetn∞ jmΘna), na druhou stranu povolme Φtenφ sumßrnφch hodnot jako je poΦet, souΦet, pr∙m∞r a medißn (tajn²ch numerick²ch sloupc∙). Pokud se n∞komu zdß tento p°φklad pon∞kud primitivnφ, mß pravdu jen z Φßsti. Kouzlo nep°φm²ch dotaz∙ pravda daleko vφce vynikne p°i demonstraci na podstatn∞ delÜφ tabulce, na to ovÜem nenφ prostor a je to pro demonstraΦnφ ·Φely zbyteΦnΘ. JeÜt∞ lepÜφch v²sledk∙ m∙₧e ·toΦnφk  dosßhnout p°i urΦitΘm stupni "socißlnφho in₧en²rstvφ", tedy pokud mß p°ibli₧n∞ rozhled o podmφnkßch ve spoleΦnosti (viz n∞kterΘ dotazy).
  217. </DIV></FONT></b></i>
  218. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  219.     Tak nap°φklad podφvejme se na nßsledujφcφ dotaz : "chci souΦet plat∙ jednotliv²ch odd∞lenφ dle pohlavφ". Jak je z tabulky patrno, tento zdßnliv∞ nevinn² dotaz jednoznaΦn∞ odhalφ plat zam∞stnankyn∞ HßjkovΘ. Dßle jsme nedßvno odeÜli z postu pana Lßtala, tedy mßme vφcemΘn∞ p°esnΘ pojetφ o jeho platu. Jeliko₧ jeho dva pod°φzenφ (z reklamnφho odd∞lenφ) d∞lajφ ·pln∞ totΘ₧, budou mφt stejn² plat, kter² je roven (27000-11000)/2=8000 KΦ. Pokud k dotazu p°idßme po₧adavek na poΦet pracovnφk∙, rßzem odhalφme, ₧e ÜΘf ekonomickΘho odd∞lenφ mß 18ti tisφcov² plat. Jeliko₧ pan Smetana nastoupil nedßvno, dotaz na pr∙m∞rn² poΦet proh°eÜk∙ na jednotliv²ch odd∞lenφch vede p°φmo k hodnot∞ 4 v p°φpad∞ pana Dostßla. 
  220. </DIV></FONT></b></i>
  221. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  222.     DalÜφ problΘmy m∙₧e p°edstavovat medißn, st°ednφ hodnota znak∙ se°azen²ch podle velikosti. V₧dy toti₧ mßme jistotu, ₧e existuje alespo≥ jeden °ßdek, kter² ji nab²vß, co₧ m∙₧e b²t v kombinaci s pr∙m∞rem siln² zjiÜ¥ovacφ nßstroj. P°i vyhodnocovßnφ auditnφho zßznamu nespolΘhejte na p°φmost dotaz∙, nenφ v₧dy nutnΘ se zeptat databßze na plat novΘho zam∞stnance, pokud se mohu zeptat na pr∙m∞rn² plat v organizaci p°ed a po jeho p°ijetφ. U₧ivatelΘ tedy mohou zjistit konkrΘtnφ hodnotu bez explicitnφho dotazu na nφ.
  223. </DIV></FONT></b></i>
  224. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  225.     Proti ·toku nep°φm²mi dotazy existuje mnoho ·toku, bohu₧el v∞tÜinou majφ op∞t vlastnost dvojseΦnΘ zbran∞. Pokud p°idßme na bezpeΦnosti, systΘm rßzem n∞kterΘ prßvoplatnΘ dotazy odmφtne odpov∞d∞t, nebo odpovφ zkreslen∞. To m∙₧e jφt a₧ do takovΘho "extrΘmu", kdy se k v²sledku p°ipoΦφtßvß nßhodnß hodnota (tzv. NßhodnΘ zmatenφ ,random data perturbation), pop°φpad∞ se mφsto na celΘm v²b∞ru sloupce se statistickΘ hodnota spoΦφtß pouze na nßhodnΘm v²b∞ru. Musφ se pochopiteln∞ zajistit, aby p°i stejn²ch dotazech systΘm vracel stejnΘ v²sledky.
  226. </DIV></FONT></b></i>
  227. <A Name="Title3"><FONT Size=3><DIV Class=Headline>
  228. Otßzka redundance dat</DIV></font>
  229. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  230.     V p°φruΦkßch pro zaΦßteΦnφky se Φasto uvßdφ, ₧e relaΦnφ databßze nesmφ obsahovat redundantnφ, tedy opakovanß data. Platnost tΘto zßsady je pro relativn∞ "menÜφ" databßze nespornß, nebo¥ umφst∞nφ jedn∞ch hodnot na vφce mφstech p°edstavuje markantnφ problΘmy p°i modifikaci, porovnßvßnφ a pokud se jaksi "stejnΘ hodnoty liÜφ" (tj. necht∞n∞, vlivem n∞jakΘ chyby), odhalenφ problΘmu b²vß skuteΦn∞ detektivnφ prßce.
  231. </DIV></FONT></b></i>
  232. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  233.     Na druhou stranu existujφ podmφnky, ve kter²ch mß ta Φi ona redundance uplatn∞nφ. Je to nap°φklad za p°edpokladu ₧e pot°ebujeme docφlit pot°ebnou rychlost, nebo¥ spojovßnφ tabulek s velk²m poΦtem °ßdk∙ klade nemalΘ nßroky na v²poΦetnφ v²kon. Proto je n∞kdy uchovßvat informace vφcekrßt u₧iteΦnΘ, poΦet tabulek kterΘ s budou spojovat se snφ₧φ. Dßle je mo₧nΘ opakovßnφm odhalit n∞kterΘ chyby, pokud nap°φklad novß hodnota prochßzφ slo₧it²m procesem mimo nßÜ systΘm. Jejφ porovnßnφ s hodnotou starou m∙₧e b²t velmi u₧iteΦn² diagnostick² nßstroj. Zcela p°φm²m p°φkladem jsou tzv. Shadow fields, tedy prostΘ "stφny" jin²ch datov²ch polφ, v p°φpad∞ nedostupnosti originßlu nebo chyby v n∞m je tak pou₧ita takovßto zßlo₧nφ kopie. 
  234. </DIV></FONT></b></i>
  235. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  236.     Vedle prost²ch kopiφ stojφ za uvß₧enφ, zda do n∞kter²ch mφst databßzovΘho systΘmu nezapracovat detekΦnφ a/nebo samoopravnΘ k≤dy. To jsou krßtkΘ °et∞zce, kterß, jak je asi jasnΘ, dokß₧φ urΦit² omezen² poΦet chyb v objektu ke kterΘmu se vztahujφ odhalit, pop°φpad∞ i opravit. K dispozici b²vß Φasto velkΘ mno₧stvφ algoritm∙, od prost²ch kontrolnφch souΦt∙ a₧ po kryptograficky bezpeΦnΘ hashe (MD5, SHA1...) Pokud je proces sprßvn∞ zautomatizovßn, m∞l by v₧dy b²t p°i uklßdßnφ nov²ch dat k≤d spoΦten a p°i Φtenφ spoΦten + porovnßn s ulo₧enou hodnotou. Velmi Üikovn∞ se tφm zamezφ nßhodnΘ modifikaci dat.
  237. </DIV></FONT></b></i>
  238. <A Name="Title4"><FONT Size=3><DIV Class=Headline>Monitory sprßvnosti</DIV></font>
  239. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  240.     DalÜφ aspekt integrity databßze je fakt, zda popsanß situace odpovφdß skuteΦnosti, respektive jestli jφ odpovφdat m∙₧e. Takovßto kontrola je namφst∞ p°edevÜφm v p°φpad∞ podez°enφ, ₧e data jsou n∞jak poÜkozena. TypickΘ je hodnoty "prohnat" p°edem p°ipravenou (Φasto dosti komplikovanou) funkcφ, kterß minimßln∞ omezφ mo₧nΘ rozp∞tφ na n∞jak² interval. ╚asto b²vß zmi≥ovßn pojem stavovß omezenφ, co₧ jsou podmφnky, p°i jejich₧ nedodr₧enφ je databßze pova₧ovßna za vadnou. Ty je pot°eba spl≥ovat po°ßd. Vedle toho p°ed ka₧dou operacφ je pot°eba zkontrolovat tzv. tranzitivnφ omezenφ, nap°φklad nenφ mo₧nΘ prodat p∞t v²tisk∙, pokud mßm na sklad∞ v²tisky pouze dva.
  241.  
  242. </DIV></FONT></b></i>
  243. </DIV>
  244. <SCRIPT>
  245. TextEnd('')
  246. </SCRIPT><SCRIPT>
  247. o('<br>');
  248. hr('');
  249. o('<TABLE '+CP+' '+CS+' style=\'position:relative;top:-'+sw('7','9')+'px;z-index:5\' xAlign=left '+B+'><TR><TD width=10><img HEIGHT=18 WIDTH=14 src=images/downgreyleft.gif hspace=0 vspace=0 '+B+' align=right><TD bgcolor=#E0E0E0><SPAN Style="font-size:12px;color:#000000;font-family:Verdana, Arial, Sans-Serif;position:relative;top:-2px;">Souvisejφcφ člßnky</SPAN><TD width=10><img src=images/downgreyright.gif width=17 height=18  hspace=0 vspace=0 '+B+' '+AL+'></TABLE>');
  250. </SCRIPT><OL Class=None Type=Disc><LI style='margin-left:20px;' class=LinkItem><a href=articles.php@ID=140><SPAN Class=SeeAlso>Ochrana dat v databßzφch a (nejen) bezpeΦnostnφ problΘmy (1.dφl)</SPAN></a></OL><SCRIPT>
  251. nie('<br>');AdditionalTablesBegin();
  252.  
  253. CommentsBegin('Ochrana dat v datab_25E1z_25EDch a (nejen) bezpe_25E8nostn_25ED probl_25E9my (2.d_25EDl)',0);
  254. NoComments()
  255. CommentsEnd();
  256. </SCRIPT><SCRIPT>
  257. ArticleEnd()
  258. </SCRIPT></TABLE>
  259. <!-- /Prostredni sloupec -->
  260.  
  261.  
  262. <!-- Mezera 3 -->
  263.  
  264. <td width=5><img src="images/spacer.gif" width="5" height="1" border="0" alt=""></td>
  265. <!-- /Mezera 3-->
  266.  
  267. <!-- Mezera 2 -->
  268. <td width=1 bgcolor=#1063A5><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
  269. <!-- /Mezera 2-->
  270.  
  271. <!-- Mezera 1-->
  272. <td width=13 bgcolor="#006792" ><img src="images/spacer.gif" width="13" height="1" border="0" alt=""></td>
  273. <!-- /Mezera 1-->
  274.  
  275. <!-- Pravy sloupec -->
  276. <td bgcolor=#006792 width="0" align="center" valign="top">
  277. <SCRIPT SRC=server/right_js.php@version=1621></SCRIPT><br>
  278. </td>
  279. <!-- /Pravy sloupec -->
  280.  
  281.  
  282. </tr>
  283.  
  284. <!-- Bilo -->
  285. <tr>
  286. <td bgcolor=#000000><img src=space.gif height=1 width=1></td>
  287. <td bgcolor=#000000></td>
  288. <td bgcolor=#000000></td>
  289. <td bgcolor=#FFFFFF></td>
  290. <td bgcolor=#FFFFFF></td>
  291. <td bgcolor=#FFFFFF></td>
  292. <td colspan=5 bgcolor=#000000></td>
  293. </tr>
  294. <tr  bgcolor=#FFFFFF>
  295. <td><img src=space.gif height=20 width=1></td>
  296. <td></td>
  297. <td></td>
  298. <td></td>
  299. <td></td>
  300. <td></td>
  301. <td colspan=5></td>
  302. </tr>
  303. <!-- /Bilo-->
  304.  
  305.  
  306.  
  307. </table>
  308. <!-- /Rozdeleni na sloupce -->
  309.  
  310. <SCRIPT>
  311.     Exec(ToExecute);
  312.     ToExecute="";
  313. </SCRIPT>
  314.  
  315. <!-- Dolni lista -->
  316.  
  317.  
  318. <!-- Paticka -->
  319. <TABLE cellspacing="0" cellpadding="0" border="0" width="100%" bgcolor=#ffffff>
  320. <TR><td colspan=5 align="center" bgcolor=#000000><img src=space.gif height=1 width=1></td></TR>
  321. <TR bgcolor=#f0f0f0>
  322. <td align="center">
  323. <IMG Src=images/logo2.gif hspace=10 vspace=5>
  324. </td>
  325. <td>
  326. <DIV Style="margin-top:4px;margin-bottom:4px;" Class=Copyright><FONT Face=Arial Size=1>
  327.  
  328. <b><u>Krypta.cz</u></b> -  Magazφn o informaΦnφ bezpeΦnosti.<br>
  329. Copyright (C) 2000-2002 Krypta.cz - <a href=mailto:michal.till@krypta.cz>Michal Till</a> a <a href=mailto:jan.kulveit@krypta.cz>Jan Kulveit</a>. VÜechna prßva vyhrazena. <br>
  330. Tento server dodr₧uje prßvnφ p°edpisy o ochran∞ osobnφch ·daj∙, vΦetn∞ standardu P3P (<a href=server/policy.xml>policy</a>). </FONT></DIV>
  331. </td>
  332. <td>
  333. <IMG Src=geronimo.gif hspace=10 vspace=5>
  334. </td>
  335. <td>
  336. <DIV Style="margin-top:4px;margin-bottom:4px;" Class=Copyright><FONT Face=Arial Size=1>
  337. RedakΦnφ systΘm Geronimo<br>
  338. Copyright (C) 2001-2002 <a href=mailto:michal.till@krypta.cz>Michal Till</a>
  339. </FONT></DIV>
  340. </td>
  341. </td></tr></table>
  342. <!-- Paticka -->
  343.  
  344. <!-- /Dolni lista -->
  345.  
  346. </body>
  347. </html>