Szótár - A

access control list: hozzáférés vezérlő lista.

adapterkártya: Ezt a speciális perifériakártyaként kapható eszközt, az adapterkártyát, a hálózat állomásaként használni kívánt valamennyi személyi számítógépbe beépítik. Az adapterkártya tartalmazza a logikai kapcsolatvezérlést, és a közeghozzáférést vezérlő funkciókat megvalósító hardvert és förmvert (firmware).

adat: Alapvetően adatnak nevezünk minden információt, amely a környezetünkben van és meghatározott tulajdonságokkal és kapcsolatokkal rendelkezik. A számítástechnikában kettős értelemben használják: a számítógépes állományok meghatározott részét nevezik adatnak (mindent, ami nem program). Szokásos azt is mondani, hogy minden adat, amit a számítógépek feldolgoznak. A másik értelmezés szerint az adat mindaz, amivel a számítógépek a kommunikációjuk során foglalkoznak. Ezek szerint két fajtája létezik: kimenő és bemenő adat.

adatátviteli sebesség: az időegység alatt átvitt bitek száma. Ezt célszerű bit/s-ban (bps) mérni. Az átvitelt jellemezhetjük a felhasznált jel értékében 1 másodperc alatt bekövetkezett változások számával is, amit jelzési sebességnek, vagy közismert néven baud-nak nevezünk.

adatvédelmi irányelvek (information protection policy): törvények, szabályok és praktikák rendszere, amely szabályozza hogyan védekezzék egy IT (információ-technológiai) termék előírt határok között, a feltételezett operációs környezetben fellépő problémákkal szemben.

address: Angol szó, jelentése: cím. Az Interneten belül a számítógépeket, illetve a számítógépes erőforrásokat azonosító cím. A kapcsolódó gazdagépek (hosztok) millióinak egyedi IP címe, az Internet felhasználóinak pedig egyedi e-mail címe van, amely lehetőséget ad arra, hogy a levelesládákba elektronikus üzenetet lehessen küldeni. Az ilyen címeket a domén (domain) nevek rendszerének - másképpen tartományi névrendszernek - megfelelően használhatjuk.

add-on security: egyéb biztonság.

alapvető előjog (least privilege): alapelv, amely szerint minden szubjektumnak azokat a minimális előjogokat kell adni, amelyekre az engedélyezett programok futtatásához szüksége van. Bizonyos alkalmazások esetén a minimális előjog jelenthetné a legalacsonyabb szintű engedélyt. Ezen alapelv használata csökkenti a baleset, hiba vagy egy AIS (automatikus információs rendszer) illetéktelen használata miatt bekövetkező adatsérülést/veszteséget.

aldomén: IP címzési rendszernél a domén-név altartomány részét aldomén-nek ill. subnet-nek is nevezik.

alkalmazási réteg: (application layer): Mivel ez kapcsolódik legszorosabban a felhasználóhoz, itt kell a hálózati felhasználói kapcsolatok megoldásait megvalósítani. Mivel számos termináltípust használnak a hálózati kapcsolatokban, amelyek természetesen kisebb-nagyobb mértékben egymástól eltérnek, ezért egy hálózati virtuális terminált definiálnak, és a programokat úgy írják meg, hogy ezt tudja kezelni. A különböző típusú terminálok kezelését ezek után egy olyan kis — a valódi és e hálózati absztrakt terminál közötti megfeleltetését végző — programrészlet végzi. Másik tipikus, e réteg által megvalósítandó feladat a fájlok átvitelekor az eltérő névkonvenciók kezelése, az elektronikus levelezés, és mindazon feladat, amit internet szolgáltatásként ismerünk.

alkalmazás szerver: Olyan kiszolgáló-program, amelyik nagy erôforrás-igényes alkalmazásokat oszt meg számos kliens között. A korábban ismert kétszintes (two-tier) kiszolgáló-kliens rendszerekben többnyire csak az adatokat osztották meg a kliensek a kiszolgáló segítségével. A többszintes (multitier) kiszolgáló-kliens rendszerek átveszik az erôforrás-igényes alkalmazásokat a kliens oldaláról, és áthelyezik egy köztes szintre, az alkalmazás szerverre. Ezzel egyszerűbbé teszik az alkalmazások fejlesztését, és emelett hatékonyabbak, gyorsabbak is.

állományátvitel: A hálózatok öszekapcsolása (internetworking) által lehetővé vált egyik legfontosabb, az egymással összekötött számítógépek között az állományok átvitelét megvalósító szolgáltatás. A technikai, megvalósítási részleteket minden esetben egy állományátviteli protokoll írja le. A szolgáltatás igénybevételéhez mind a fogadó, mind a küldő számítógépnek ugyanazon állományátviteli protokoll követelményeinek megfelelő programot kell futtatnia, amelyek az adott állományátvitelt vezérlik.

állományátviteli protokoll: Olyan protokoll (egyfajta szabvány), amely egymással kapcsolatban álló két számítógép között az adatok átvitelét vezérli. A protokoll szükségessége abban is rejlik, hogy az adatok átvitele hibajelenségek felmerülése esetén is zökkenőmentesen végbemehessen. A modemek a legelterjedtebben a Kermit, Xmodem, Ymodem és Zmodem nevű állományátviteli protokollokat használják.. Az Internet nagysebességű vonalain az állományok átvitelét a File Transfer Protocol vezérli.

anonymous ftp: Vannak mindenki számára elérhető ún. nyilvános elérésű gépek (persze miután egy ftp programmal, amivel megadtuk a célgép nevét, feljelentkeztünk a gépre), amelyekre természetesen nem kell account-tal rendelkezni, ez az ún. anonymous ftp. Az ilyen gépekre bejelentkezve bejelentkező (login) névként az "anonymous" szót kell begépelni. A rendszer ekkor arra kér, hogy jelszóként a saját e-mail-címünket adjuk meg, ez sokszor gyakorlatilag nem kötelező, kizárólag statisztikai célt szolgál. Ezek után a távoli gépet, pontosabban annak nyilvánosan elérhető könyvtárait láthatjuk, és a következő legalapvetőbb ftp parancsok mind használhatóak: dir, cd, get, mget, put, mput, asc, bin.

ANSI: American National Standards Institute (Amerikai Szabványügyi Hivatal)

applet: Az applet olyan Java nyelven megírt programot (programocskát) jelent, amelyet HTML oldalba (honlap) ágyaztak be. Ezek végrehajtását a Java nyelvet értő - appleteket futtatni képes - böngészőprogramok végzik. Az appletek többek között képesek:

arbitráció: közösen használt csatorna használatának megoldása

archie: A Telnet protokoll egy nyilvánosan használható változata. Az anonymous ftp-vel elérhető fájlok keresésére használható adott név, vagy névrészlet alapján. Az archie szerverek folyamatosan figyelik az ftp-vel elérhető szervereket egy adott régóiban, és az elérhető könyvtárakat a bennük lévő fájlok neveivel együtt, egy folyamatosan frissített adatbázisba helyezik. Az archie kezelése egyszerű, csak be kell írni a kulcsszót, ami alapján keresünk, és egy listát kapunk arról, milyen néven mit talált az archie a saját adatbázisában. Használatához egy archie szerverhez kell kapcsolódnunk, és az általa különféle ftp szerverekről összegyűjtött és folyamatosan frissített adatbázisban kereshetünk. A bécsi egyetem archie-szerverére a

telnet archie.univie.ac.at

paranccsal kapcsolódhatunk. Az archie elérhető levelezéssel is. Ilyenkor az

archie@archie.univie.ac.at

címre kell levelet küldeni, levél törzsébe a find kulcsszó után kell a keresett részt beírni. Az eredménylistát saját e-mail címünkre fogjuk megkapni.

ARP: Minden számítógépnek a hálózaton van egy táblázata, amelyben felsorolja, hogy milyen Ethernet cím milyen Internet címnek felel meg. Ennek a táblázatnak a karbantartását a rendszer egy protokoll, az ARP (Address Resolution Protocol - címleképezési protokoll) segítségével végzi.

ARPA: Advanced Reasearch Projects Agency (továbbfejlesztett kutatási projektek hivatala)

ARPANET: Az Amerikai Védelmi Minisztérium kutatóintézetében (Advanced Research Project Agency) a hatvanas években kifejlesztett távolsági számítógép-hálózat, amely 1969 decemberétől állt az egyetemek és a kutatóintézetek rendelkezésére. A fejlesztés célja a különböző katonai és kutatói szférák közötti nagysebességü kommunikáció megteremtése volt.. Ez a projekt - és a később ebből megszületett hálózat - adta a mai Internet technikai megvalósításának alapját.
Az 1960-as évek végén a Bolt, Beranek és Newman nevű cég nyerte meg a hálózat megépítésére kiírt pályázatot. Megtervezték a mai útvonal-választók (router) elődjét, majd ezeket az USA négy egyetemén (3 Kaliforniában, 1 Utahban) üzembe is helyezték. 1969 szeptember 2-án megszületett az ARPANET, amelyet akkor még telefonvonalak kötöttek össze.
Mivel a számítógépes kommunikációban sokszor fordul elő az, hogy egy-két percig rengeteg a feldolgozni való adat, majd jó sokáig szinte semmi sem történik, ezért nem igazán szerencsés, ha két számítógép folyamatosan lefoglal egy vonalat. Ennek a problémának a feloldására irányultak a korai kutatások, majd így került kifejlesztésre az úgynevezett csomagkapcsolt hálózat. Ebben az esetben a kommunikáció úgy történik, hogy az adatokat kissebb csomagokra bontják, amelyek mindegyikét megfelelő azonosítással látják el (küldő címe, célállomás címe, stb.) Ezeket a csomagokat aztán a hálózat lebontja bitek sorozatára, amit a számítógépek a vonalra tesznek. A célállomások a bitekből és a csomagokból felépítik az eredeti üzenetet.
Az ARPANET fejlesztését erősen befolyásolták katonai célok is. Egyrészt hardver-független protokollok, másrészt olyan hálózat kifejlesztését kívánták, amely egy esetleges csapásmérő támadás után is üzemképes marad. A sikeres kutatómunka eredményét egy 1978-ban végrehajtott teszttel mutatták be, amelyben egy kaliforniai autópályán haladó kamionban elhelyezett számítógép rádióhullámok segítségével küldött adatokat egy közeli gazdagéphez. Az adatok az ARPANET-en keresztül az Egyesült államok másik felébe, majd onnan egy műhold közvetítésével Londonba jutottak.
Az ARPANET-et eredetileg csak az állományok átvitelére fejlesztették ki. A felhasználók azonban hamarosan elektronikus levelezést és levelezési listákat követeltek és kaptak. Nyilvánvalóvá vált, hogy az ARPANET a tudományos együttműködés és haladás szempontjából nagyon fontos szerepet tölt be. Mivel azonban a hálózatot csak a Védelmi Minisztériummal szerződésben álló intézmények használhatták, ezért megoldást kellett keresni a többi egyetem számára is. 1983-ban, amikor a hálózatról leválasztották a katonai jellegü részt (MILNET), egyfajta internet alakult ki, amelynek gerincét az ARPANET adta. Azonban a probléma továbbra is fennállt, mert az ARPANET eredetileg a Védelmi Minisztérium hálózata volt. Ezért az 1980-as évek vége felé a National Science Foundation létrehozta az NSFNET hálózatot, amely az ARPANET-et váltotta fel. Maga az ARPANET 1990-ben megszünt.

ASCII karakter: Az ASCII rövidítés az American Standard Code for Information Interchange (=Amerikai szabványos kód az információ kölcsönös cseréjére) kifejezés rövidítése. Az ilyen módon kódolt bitcsoportokat ASCII karaktereknek nevezzük. Az ASCII az angol ábécé minden betűjéhez, számjegyéhez, írásjeléhez egy-egy 7 bites számot (egy hétjegyű, kettes számrendszerbeli számot) rendel hozzá. Az ékezetes karaktereket nem tartalmazza, ezért használata nyelvileg korlátozott, viszont minden számítógép megérti.

ASCII karakterek

assurance level: biztonsági szint.

áthatolás (penetration): Sikeres átjutás egy rendszer biztonsági mechanizmusán keresztül.

áthatolás tesztelés (penetration testing): [1] Biztonsági tesztelés melyben evaluatorok megkísérlik kijátszani a biztonsági rendszerét egy AIS (automatizált információs rendszer)nek a rendszer vázlatának és implementációjának értelmezésén keresztül. [2] Egy evaluator teszteket hajt végre hogy kiderítse hogy valójában az ismert sebezhető pontok kihasználhatók e a gyakorlatban. [3] Egy biztonsági tesztelés része melyben evaluatorok vagy behatolók megpróbálják kijátszani abiztonsági rendszert. Az evaluatorokról vagy a behatolókról feltételezhető hogy használják a rendszer leírását ami tartalmazhataj a a forrás kódot, kezelési útmutatót és kapcsolási rajzokat.

átjáró (gateway): Hálózatok összekötését a legtöbbször nem elegendő egyszerűen kábelekkel megoldani: a különböző protokollokat használó hálózatok egymással való kommunikációjához más eszközök is szükségesek, amelyek a protokollokat értelmezni tudják. Ezek egyike az átjáró: olyan hálózati eszköz, amely két különböző felépítésű számítógép-hálózatot köt össze. Mivel a különböző hálózattípusokban az állomások eltérő módon számozottak, ezért a köztük lévő adatforgalom biztosításához az egyes hálózatoknak is rendelkezniük kell címmel, hogy az üzenetek a megfelelő hálózatra jussanak. Az átjáró lehet akár egy erre a célra felállított külön számítógép, de lehet csak egy program is, amely olyan számítógépen fut, melyet a két kommunikálni kívánó hálózatba kötnek. A korai időkben az angol nyelvű irodalomban a gateway (átjáró) kifejezést használták a router (útvonal-választó) elnevezés helyett is: tehát olyan állomásokat értettek ez alatt, amelyek az Internet hálózaton belül irányították az adatokat.

attack: betörés.

audit: felülvizsgálat.

authentication: hitelesítés.

authorization: felhatalmazás.

availability: elérhetőség.

azonosító: Egy adott szolgáltatás igénybevételének jogát biztosító karaktersorozatok együttese. A leggyakrabban ez egy bejelentkezési névnek felel meg, amellyel egy adott felhasználó arra a számítógépre jelentkezhet be, ahol felhasználóként szerepel. Az azonosítót, amely általában a bejelentkezési nevet és a jelszót együtt jelenti, a felhasználó a hálózati szolgáltatójától kapja. Ennek birtokában a minket megillető erőforrásokat használhatjuk.

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