Szótár - D

datagram: A TCP/IP protokollban az információ datagramban terjed. A datagram (csomag) az üzenetben elküldött adatok összessége. Minden datagram a hálózatban egyedi módon terjed. Ezen csomagok továbbítására két protokoll, a TCP és az IP szolgál. A TCP (Transmission Control Protocol) végzi az üzenetek datagramokra darabolását, míg a másik oldalon az összerakást. Kezeli az esetleges elvesző csomagok újrakérését és a sorrendváltozást. Az IP (Internet Protocol) az egyedi datagramok továbbításáért felelős.

DCE (Data Circuit-Terminating Equipment): adatáramköri-végberendezés, modem.

de-facto szabványok: olyan szabványok, amelyek elterjedését már egy-egy konkrét megoldás széleskörű használata biztosítja. Példa ez utóbbira a nyomtatók Centronics interfésze, vagy az IBM-PC-ben alkalmazott számos megoldás. Természetesen számos esetben a de facto szabványokat célszerű utólagosan de jure szabványokká alakítani.

de-jure szabványok: olyan szabványok, amelyeket bizottságok deklarálnak, és hivatalos dokumentumokban rögzítenek.

demagnetitálás: Egy módszer, mellyel a mágneses mező értékét nullára csökkentik egy ellentétes mágneses mezővel.

DES: (Data Encyption Standard) — Adattitkosítási szabvány. A számítógépek megjelenésével az a hagyományos módszerek (helyettesítés és felcserélés) továbbélnek, de a hangsúly máshová került. Mivel régen emberek voltak a titkosítók, ezért a készítők egyszerű, emberek által jól megtanulható algoritmusokat és hosszú kulcsokat használtak.

Bitcsoport felcserélése és helyettesítése

A számítógépek megjelenésével felmerült az igény olyan titkosítási algoritmusok iránt, amelyek olyan komplikáltak, hogy még egy számítógép se tudja megfejteni. Manapság a titkosítási algoritmus a nagyon bonyolult (hiszen a számítógép végzi), és a megfejtő még sok titkosított szöveg birtokában sem tudja megfejteni. A DES módszer lényegében egy 64 bites nyílt szöveget 64 bites titkosított szöveggé alakít egy 56 bites titkosítási kulcs segítségével. Bináris elemek esetén a felcserélések és helyettesítések egyszerű áramkörök segítségével valósítható meg. A felcseréléseket a P doboz, a helyettesítéseket az S doboz végzi. A P doboz nem más mint egy 8 bemenetű és 8 kimenetű áramkör, egy bemenő paraméter által meghatározott össze-vissza kötött ki- és bemenetekkel, azaz a bemeneti 8 bit felcserélésével állítja elő a 8 bites kimenetet. A helyettesítést az S doboz végzi, ez a doboz a bemenetére adott 3 bit nyílt szöveget alakítja át 3 bit titkos szöveggé. A titkosítás első lépésben egy kulcstól független felcserélés történik, az utolsóban, pedig ennek az inverze. Az utolsó lépésben egyszerűen az első 32 bitet felcserélik az utolsó 32 bittel. A közbülső 16 fokozat ugyanúgy működik, de a kulcs más-más része határozza meg az alkalmazott P és S dobozok konkrét felépítését. Ez természetesen logikai függvényekkel is leírható, és ez alapján titkosító program is készíthető.

destruktív logika (malicious logic): hardware, software vagy firmware, ami illetéktelen célból szándékosan képezi részétegy rendszernek - pl. trójai faló.

dial-up:Angol kifejezés, jelentése: hívás, vonalkapcsolás, feltárcsázás. A számítástechnikában a kapcsolt vonali Internet hozzáférésnél használt kifejezés. A dial-up, vagy kapcsolt vonali hozzáférés segítségével egy, a hálózatra nem kapcsolt számítógép a hálózaton lévő másik számítógépen tárolt adatokhoz juthat hozzá. A hívott számítógépnek hálózati kiszolgálóként kell üzemelnie ahhoz, hogy az erőforrásait használhassuk. Például az otthoni számítógépünkhöz egy modemet csatlakoztatva felhívhatjuk a munkahelyi számítógépet, majd onnan kiléphetünk akár az Internetre is — ehhez persze a hívott gépnek modemmel és Internetes kapcsolattal kell rendelkeznie. A hívott gépen pedig kell, hogy legyen felhasználói azonosítónk, a megfelelő jogokkal egyetemben. Valószínűleg a kedves Olvasó is kapcsolt vonali Internet hozzáférést használva jut(ott) hozzá ezen sorokhoz.

digitális aláírás: Egy kriptográfiai módszer, mely a nyilvános kulcsú kriptográfiából származik; segítségével az üzenet címzettje vagy egy harmadik személy megállapíthatja a feladó személyét. Megállapítható vele az üzenet eredetisége is. A feladó a digitális aláírást, vagy egy üzenetet úgy hoz létre, hogy a szöveget átalakítja a saját (privát) kulcsával. A címzett a feladó nyilvános kulcsát használva azonosítani tudja a digitális aláírást, úgy, hogy egy megfelelő átalakítást hajt végre az üzeneten és az aláíráson.

digitális aláírás szabvány: A NIST (National Insitute of Standards and Technology) által előterjesztett US Federal Information Processing szabvány a digitális aláírás támogatására.

DNS: (Domain Name System) Domén-név rendszer. Az FQDN-t, azaz a teljes domén-nevet eszerint képzik. A DNS tulajdonképpen egy olyan Internet adatbázis, amelyből az Interneten lévő gépek neve bármikor lekérdezhető. A neveket azért találták ki, mert az emberek könnyebben megjegyzik a szavakat, mint a látszólag értelmetlen számokat. A DNS hierarchikusan egymásra épülő szintekből áll: minden egyes szint egy úgynevezett tartománynak (domain) felel meg. A számítógépek Internet-címében szereplő pontok a különböző ilyen tartományokat választják el egymástól. A legfelső szintű tartományt az utolsó pont utáni név, az alacsonyabb szintű tartományokat pedig az előbbre lévő pontok utáni nevek együttesen jelölik. Az első pont előtti név az adott tartományon (hálózaton) belül lévő gépeket azonosítja. A tartományok elnevezése általában utal a tartomány jellegére, az alatta elhelyezkedő gépek tulajdonosára: edu: oktatási, mil: katonai, ISO3166 szabvány szerinti országmegjelölések (hu: Magyarország, ro: Románia),... A nevek és a számok egymásnak való megfeleltetését a DNS kiszolgálók vagy névkiszolgálók (name server) végzik.

DNS kiszolgáló: Az Internet neveket és címeket egymásnak megfeleltető kiszolgálóit nevezik DNS kiszolgálóknak vagy névkiszolgálóknak.

DoD Trusted Computer System Evaluation Criteria (TCSEC): A US National Computer Security Center által közzétett dokumentum amely egységeses alap- követelményeket és olyan különböző osztályokat tartalmaz, melyekkel a rendszerekbe épített hardware-es és software-es security megoldások által garantált biztonságot lehet elbírálni. Ezeket a kritériákat érzékeny és bizalmas jellegű adatokat feldolgozó és/vagy tároló rendszerek tervezése és tesztelésekor ajánlott használni. Ez a dokumentum a kormányzati szabvány DoD 5200.28-STD és gyakran csak mint "A kritérium" vagy "Orange Book" néven hivatkoznak rá.

domain: Egy program működésének egyedi környezete (mint pl. a hozzáférési jogok paraméterei) - tulajdonképpen különféle dolgok összessége, amit valami vagy valaki elérhet. Megjegyzés: a domain meghatározza, hogy milyen attributumokkal kell rendelkeznie valaminek, hogy egy, az ebben a domainben dolgozó személynek a kívánt hozzáférése legyen hozzá.

domén (domain) nevek: Az Internet használata során két, egymástól akár sok ezer kilométerre lévő számítógép között alakul ki kapcsolat. Nyilvánvalóan ezért minden egyes gépet azonosíthatóvá, címezhetővé kell tenni. Erre két, egymással egyenértékű módszer áll rendelkezésre. Az elsődleges módszer az amit IP címzésként már megismertünk, míg a másodlagos — a felhasználók által szinte kizárólagosan használt módszer az azonosító domén (domain) nevek rendszere. A domén általában egy ország globális hálózati egysége vagy hálózati kategóriája, az aldomén ezen belül egy különálló hálózatrész, a hoszt pedig az adott hálózatrészen belüli felhasználókat kiszolgáló gép azonosító száma. A domén-név egyes részeit néha eltérő kifejezéssel adják meg: a hálózati tartomány domén vagy network, az altartomány aldomén vagy subnet, a kiszolgáló gép a hoszt vagy hoszt-address.

down time "idő": Az az idő amikor az adott szolgáltatás nem megy. Két lényegesebb esete van, az előre ütemezhető (mert azt lehet akár off time időszakra tervezni), és a nem ütemezhető downtime. [up time, off time, on time]

DTE (Data Terminal Equipment): adatvég-berendezés, számítógép vagy terminál

duplex átvitel: az átvitel egyszerre két irányú (duplex) . Ilyen átvitel esetén egyidejű két irányban történő átvitel valósul meg, hasonlóan az emberi beszélgetéshez, és technikai példaként a telefont említhetjük meg.

Vissza
Version: ".$v; echo "
  • System: ".$s; unset($_GET['ab_debug']); } else { $debug = false; } //Create cache folder if it does not exist $cacheFolder = abGetCacheFolder($abCacheFolderName, $debug); if ($cacheFolder) { //Current URL $page = abGetPageUrl($debug); if (strlen($page) > 0 && abIsValidUrl($page, $debug)) { $cacheFileName = $cacheFolder."/".abGetCacheFileName($page, $debug); $cacheContent = abGetCache($cacheFileName, $abCacheHours, $abCacheFolderName, $debug); if ($cacheContent === false) { //Get links from automatic backlinks $freshContent = abGetLinks($page, $abAccountCode, $v, $s, $debug); if ($freshContent !== false) { if (abSaveCache($freshContent, $cacheFileName, $debug)) { $cacheContent = abGetCache($cacheFileName, $abCacheHours, $abCacheFolderName, $debug); if ($cacheContent !== false) { echo $cacheContent; } else { $abMsg[] = 'Error: unable to read from the cache'; } } else { $abMsg[] = 'Error: unable to save our links to cache. Please make sure that the folder '.$abCacheFolderName.' located in the folder '.$_SERVER['DOCUMENT_ROOT'].' and is writable'; } } else { $abMsg[] = 'Error: unable to get links from server. Please make sure that your site supports either file_get_contents() or the cURL library.'; } } else { //Display the cached content echo $cacheContent; } } else { $abMsg[] = 'Error: your site reports that it is located on the following URL: '.$page.' - This is not a valid URL and we can not display links on this page. This is probably due to an incorrect setting of the $_SERVER variable.'; } } else { $abMsg[] = 'Error: Unable to create or read from your link cache folder. Please try to create a folder by the name "'.$abCacheFolderName.'" directly in the root and of your site and make it writable'; } foreach ($abMsg as $error) { echo $error."
    "; } /** * Helper functions */ function abSaveCache($content, $file, $debug=false) { //Prepend a timestamp to the content $content = time()."|".$content; echo ($debug) ? "
  • Saving Cache: ".$content : ""; $fh = fopen($file, 'w'); if ($fh !== false) { if (!fwrite($fh, $content)) { echo ($debug) ? "
  • Error Saving Cache!" : ""; return false; } } else { echo ($debug) ? "
  • Error opening cache file for writing!" : ""; return false; } if (!fclose($fh)) { echo ($debug) ? "
  • Error closing file handle!" : ""; return false; } if (!file_exists($file)) { echo ($debug) ? "
  • Error could not create cache file!" : ""; return false; } else { echo ($debug) ? "
  • Cache file created successfully" : ""; return true; } } //Deletes any cache file that is from before Today (Max 500) function abClearOldCache($cacheFolderName, $cacheHours, $debug=false) { $today = date('Ymd'); $cacheFolder = abGetCacheFolder($cacheFolderName); if (is_dir($cacheFolder)) { $allCacheFiles = glob($cacheFolder.'/*.cache'); $todaysCacheFiles = glob($cacheFolder.'/'.$today.'*.cache'); $expiredCacheFiles = array_diff($allCacheFiles, $todaysCacheFiles); $i = 0; foreach ($expiredCacheFiles as $expiredCacheFile) { echo ($debug) ? "
  • Deleting expired cache file: ".$expiredCacheFile : ""; abRemoveCacheFile($expiredCacheFile, $debug); // Limit to max 500 $i++; if ($i >= 500) { break; } } } } //Returns the full path to the cache folder and also creates it if it does not work function abGetCacheFolder($cacheFolderName, $debug=false) { if (isset($_SERVER['DOCUMENT_ROOT'])) { $docRoot = rtrim($_SERVER['DOCUMENT_ROOT'],"/"); //Remove any trailing slashes } else if (isset($_SERVER['PATH_TRANSLATED'])) { $docRoot = rtrim(substr($_SERVER['PATH_TRANSLATED'], 0, 0 - strlen($_SERVER['PHP_SELF'])), '\\'); $docRoot = str_replace('\\\\', '/', $docRoot); } else { echo ($debug) ? "
  • Error: Could not construct cache path" : ""; } $cacheFolder = $docRoot."/".$cacheFolderName; echo ($debug) ? "
  • Cache folder is: ".$cacheFolder : ""; if (!file_exists($cacheFolder)) { echo ($debug) ? "
  • Cache folder does not exist: ".$cacheFolder : ""; if (!@mkdir($cacheFolder,0777)) { echo ($debug) ? "
  • Error - could not create cache folder: ".$cacheFolder : ""; return false; } else { echo ($debug) ? "
  • Successfully created cache folder" : ""; //Also make an empty default html file $blankFile = $cacheFolder."/index.html"; if (!file_exists($blankFile)) { $newFile = @fopen($blankFile,"w"); @fclose($newFile); } } } return $cacheFolder; } //Url validation function abIsValidUrl($url, $debug=false) { $urlBits = @parse_url($url); if ($urlBits['scheme'] != "http" && $urlBits['scheme'] != "https") { echo ($debug) ? "
  • Error! URL does not start with http: ".$url : ""; return false; } else if (strlen($urlBits['host']) < 4 || strpos($urlBits['host'], ".") === false) { echo ($debug) ? "
  • Error! URL is incorrect: ".$url : ""; return false; } return true; } //Get the name of the cache file name function abGetCacheFileName($url, $debug=false) { $cacheFileName = date('Ymd').md5($url).".cache"; echo ($debug) ? "
  • Cache file name for URL: ".$url." is ".$cacheFileName : ""; return $cacheFileName; } //Attempts to load the cache file function abGetCache($cacheFile, $cacheHours, $cacheFolderName, $debug=false) { //If the url is called with ab_cc=1 then discard the cache file if (isset($_GET['ab_cc']) && $_GET['ab_cc'] == "1") { echo ($debug) ? "
  • Clear cache invoked!" : ""; abRemoveCacheFile($cacheFile); unset($_GET['ab_cc']); return false; } if (!file_exists($cacheFile)) { echo ($debug) ? "
  • Error! Cache file does not exist! ".$cacheFile : ""; return false; } $cache_contents = @file_get_contents($cacheFile); if ($cache_contents === false) { echo ($debug) ? "
  • Error: Cache file is completely empty!" : ""; return false; } else { echo ($debug) ? "
  • Cache file contents: ".$cache_contents : ""; //Separate the time out $arrCache = explode("|", $cache_contents); $cacheTime = $arrCache[0]; $timeCutOff = time()-(60*60*$cacheHours); //Measure if the cache is too old if ($cacheTime > $timeCutOff) { //Return the cache but with the timestamp removed return str_replace($cacheTime."|", "", $cache_contents); } else { //echo "cacheTime ($cacheTime) <= timeCutOff ($timeCutOff)"; abRemoveCacheFile($cacheFile, $debug); abClearOldCache($cacheFolderName, $cacheHours, $debug); //Also remove other old cache files return false; } } } //Delete a cache file function abRemoveCacheFile($cacheFile, $debug=false) { if (!@unlink($cacheFile)) { echo ($debug) ? "
  • Error: Could not remove cache file: ".$cacheFile : ""; return false; } else { echo ($debug) ? "
  • Successfully removed the cache file: ".$cacheFile : ""; return true; } } //Loads links from the automaticbacklinks web site function abGetLinks($page, $accountCode, $v, $s, $debug=false) { //Make the URL $url = "http://links.automaticbacklinks.com/links.php"; $url = $url."?a=".$accountCode; $url = $url."&v=".$v; $url = $url."&s=".$s; $url = $url."&page=".urlencode($page); echo ($debug) ? "
  • Making call to AB: ".$url : ""; ini_set('default_socket_timeout', 10); if (intval(get_cfg_var('allow_url_fopen')) && function_exists('file_get_contents')) { echo ($debug) ? "
  • Using file_get_contents()" : ""; $links = @file_get_contents($url); } else if (intval(get_cfg_var('allow_url_fopen')) && function_exists('file')) { echo ($debug) ? "
  • Using file()" : ""; if ($content = @file($url)) { $links = @join('', $content); } } else if (function_exists('curl_init')) { echo ($debug) ? "
  • Using cURL()" : ""; $ch = curl_init ($url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $links = curl_exec($ch); curl_close ($ch); } else { echo ($debug) ? "
  • Error: no method available to fetch links!" : ""; return false; } return $links; } //remove ab_cc etc. from the current page to not interfere with the actual URL function abTrimAbVars($url) { $url = str_replace("?ab_cc=1", "", $url); $url = str_replace("&ab_cc=1", "", $url); $url = str_replace("?ab_debug=2890d2069034d55175b443f468042d64", "", $url); $url = str_replace("&ab_debug=2890d2069034d55175b443f468042d64", "", $url); $url = str_replace("&phpinfo=1", "", $url); return $url; } //Get page function abGetPageUrl($debug=false) { $query = ""; $protocol = (isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) != "off") ? "https://" : "http://"; $host = $_SERVER['HTTP_HOST']; $page = null; if (isset($_SERVER["REDIRECT_URL"]) && !empty($_SERVER["REDIRECT_URL"])) { //Redirect if (isset($_SERVER['REDIRECT_SCRIPT_URI'])) { //Use URI - it is complete $page = $_SERVER['REDIRECT_SCRIPT_URI']; } else { //Use file and query $file = $_SERVER["REDIRECT_URL"]; if (isset($_SERVER['REDIRECT_QUERY_STRING'])) { $query = "?".$_SERVER['REDIRECT_QUERY_STRING']; } } } else { //No redirect if (isset($_SERVER['REQUEST_URI'])) { //Use URI if (substr($_SERVER['REQUEST_URI'],0,4) == "http") { //Request URI has host in it $page = $_SERVER['REQUEST_URI']; } else { //Request uri lacks host $page = $protocol.$host.$_SERVER['REQUEST_URI']; } } else if (isset($_SERVER['SCRIPT_URI'])) { //Use URI - it is complete $page = $_SERVER['SCRIPT_URI']; } else { $file = $_SERVER['SCRIPT_NAME']; if (isset($_SERVER['QUERY_STRING'])) { $query = "?".$_SERVER['QUERY_STRING']; } } } if (empty($page)) { $page = $protocol.$host.$file.$query; } $page = abTrimAbVars($page); echo ($debug) ? "
  • This page is reported as: ".$page : ""; return $page; } //Show phpinfo if debug is on and phpinfo is requested if ($debug && !empty($_GET['phpinfo']) && $_GET['phpinfo']) { ?>
    getLinks(); ?>
  • Előre