{"id":17154,"date":"2026-01-30T08:35:14","date_gmt":"2026-01-30T07:35:14","guid":{"rendered":"https:\/\/webhosting.de\/php-handler-sicherheit-fpm-cgi-vergleich-poolrisiko\/"},"modified":"2026-01-30T08:35:14","modified_gmt":"2026-01-30T07:35:14","slug":"php-handler-sikkerhed-fpm-cgi-sammenligning-pool-risiko","status":"publish","type":"post","link":"https:\/\/webhosting.de\/da\/php-handler-sicherheit-fpm-cgi-vergleich-poolrisiko\/","title":{"rendered":"PHP-handlersikkerhed: effekter p\u00e5 webhosting i sammenligning"},"content":{"rendered":"<p><strong>PHP Handler-sikkerhed<\/strong> bestemmer, hvor st\u00e6rkt hjemmesider er adskilt fra hinanden i delte milj\u00f8er, og hvilke angrebsflader en webserver uds\u00e6tter sig for; i en direkte sammenligning mellem FPM og CGI er procesisolering, brugerrettigheder og h\u00e5rde gr\u00e6nser de vigtigste faktorer. Jeg viser, hvorfor FPM med dedikerede pools reducerer risikoen, mens klassisk CGI giver streng isolation, men genererer latenstid og CPU-belastning p\u00e5 grund af h\u00f8je overheads.<\/p>\n\n<h2>Centrale punkter<\/h2>\n<ul>\n  <li><strong>Isolering<\/strong> bestemmer angrebsfladen og risici p\u00e5 tv\u00e6rs af konti.<\/li>\n  <li><strong>FPM-pools<\/strong> adskille brugere, s\u00e6tte gr\u00e6nser og beskytte ressourcer.<\/li>\n  <li><strong>CGI<\/strong> isolerer kraftigt, men koster CPU og tid pr. anmodning.<\/li>\n  <li><strong>OPcache<\/strong> har brug for separate lagersegmenter til hver konto.<\/li>\n  <li><strong>delt hosting<\/strong> drager fordel af dedikerede FPM-instanser.<\/li>\n<\/ul>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/01\/php-handler-sicherheit-9834.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Hvordan PHP-handlere former sikkerhed<\/h2>\n\n<p>Hver handler forbinder webserveren og PHP-fortolkeren, men <strong>Udf\u00f8relse<\/strong> mod_php indl\u00e6ser PHP direkte i webserverprocessen; det giver hastighed, men deler den samme brugerkontekst og \u00f8ger hostingrisikoen. CGI starter en ny proces pr. anmodning under m\u00e5lbrugeren, hvilket holder rettighederne rent adskilt, men med m\u00e6rkbart overhead. FastCGI holder processerne i live og reducerer opstartsomkostningerne, men kun FPM giver den fine kontrol, som moderne flerbrugerops\u00e6tninger kr\u00e6ver. Jeg foretr\u00e6kker FPM, fordi den tillader separate pools, separate UID'er og strenge gr\u00e6nser pr. konto uden at miste effektivitet.<\/p>\n\n<h2>FPM vs CGI: sikkerhedsm\u00e6ssig afgr\u00e6nsning i hverdagen<\/h2>\n\n<p>I en direkte sammenligning adskiller CGI strengt, men FPM forts\u00e6tter adskillelsen. <strong>permanent<\/strong> og holder ventetiden lav. FPM-pools k\u00f8rer under den respektive kontobruger, isolerer stier og indkapsler ressourcer; p\u00e5 den m\u00e5de forhindrer et angreb p\u00e5 site A adgang til site B. Jeg begr\u00e6nser ogs\u00e5 effekten af defekte scripts med memory_limit, max_execution_time og request_terminate_timeout. Selvom CGI afslutter alle processer efter anmodningen, spilder den CPU-tid ved konstant at starte og indl\u00e6se udvidelser. I delte milj\u00f8er dominerer FPM derfor, ideelt set som en dedikeret pool pr. dom\u00e6ne eller projekt.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/01\/phphandler_sicherheit_4821.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Isolation i delt hosting: risici og l\u00f8sninger<\/h2>\n\n<p>I delte milj\u00f8er er den st\u00f8rste <strong>Risiko ved hosting<\/strong>, n\u00e5r konti deler ressourcer eller rettigheder utilsigtet. Angribere g\u00e5r efter svage filtilladelser, defekte midlertidige mapper eller ikke-adskilte cacher. Med dedikerede FPM-pools pr. konto indkapsler jeg processer, filstier, logfiler og OPcache-segmenter. Jeg adskiller ogs\u00e5 upload-stier og forhindrer symlink-angreb med restriktive monteringsmuligheder og rene ejermodeller. Flere niveauer <a href=\"https:\/\/webhosting.de\/da\/proces-isolation-hosting-chroot-cagefs-container-jails-sikkerhed-sammenligning\/\">Procesisolering<\/a> med chroot, CageFS eller jails reducerer virkningen af en indtr\u00e6ngen betydeligt, fordi angriberen ikke kan n\u00e5 v\u00e6rtssystemet.<\/p>\n\n<h2>Ressourcestyring: puljer, gr\u00e6nser og timeouts<\/h2>\n\n<p>FPM scorer point, fordi jeg kan m\u00e5lrette ressourcer <strong>tildele<\/strong> og dermed d\u00e6mme op for misbrug. Jeg bruger pm.max_children til at begr\u00e6nse samtidige PHP-processer, mens pm.max_requests genstarter langtidsholdbare arbejdere efter X anmodninger for at forhindre hukommelsesl\u00e6kager. request_terminate_timeout afslutter hang-ups, der ellers ville binde RAM og beskytter mod bremseangreb. Til uploads s\u00e6tter jeg post_max_size og upload_max_filesize, s\u00e5 normale workflows k\u00f8rer, men gigantiske filer ikke accepteres. I kombination med systemd\u00e6kkende cgroups for CPU og RAM forbliver v\u00e6rten responsiv selv under spidsbelastninger.<\/p>\n\n<h2>Performance og sikkerhed i en sammenligning af tal<\/h2>\n\n<p>En direkte sammenligning af h\u00e5ndteringsmaskinerne afsl\u00f8rer de praktiske forskelle <strong>h\u00e5ndgribelig<\/strong>. Jeg bruger f\u00f8lgende oversigt til at tr\u00e6ffe beslutninger og kalibrere forventninger. V\u00e6rdierne beskriver typiske tendenser i virkelige ops\u00e6tninger og viser, hvorfor FPM er f\u00f8rstevalget i scenarier med delt hosting. CGI prioriterer h\u00e5rdhed gennem genstart, FPM afbalancerer isolation og hastighed, LSAPI skinner med LiteSpeed-stakke. Det er stadig vigtigt: Isolering uden gr\u00e6nser er ikke til megen hj\u00e6lp, og det samme g\u00e6lder gr\u00e6nser uden isolering.<\/p>\n\n<table>\n  <thead>\n    <tr>\n      <th>handler<\/th>\n      <th>Ydelse<\/th>\n      <th>Sikkerhed<\/th>\n      <th>RAM-forbrug<\/th>\n      <th>Isolering<\/th>\n      <th>Ideel til<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td>mod_php<\/td>\n      <td>H\u00f8j<\/td>\n      <td>Lav<\/td>\n      <td>Lav<\/td>\n      <td>Lav<\/td>\n      <td>Sm\u00e5, enkle sider<\/td>\n    <\/tr>\n    <tr>\n      <td>CGI<\/td>\n      <td>Lav<\/td>\n      <td>H\u00f8j<\/td>\n      <td>H\u00f8j<\/td>\n      <td>H\u00f8j<\/td>\n      <td>Test, streng adskillelse<\/td>\n    <\/tr>\n    <tr>\n      <td>FastCGI<\/td>\n      <td>Medium<\/td>\n      <td>Medium<\/td>\n      <td>Medium<\/td>\n      <td>Medium<\/td>\n      <td>Overgangsfase<\/td>\n    <\/tr>\n    <tr>\n      <td>PHP-FPM<\/td>\n      <td>Meget h\u00f8j<\/td>\n      <td>H\u00f8j<\/td>\n      <td>Lav<\/td>\n      <td>H\u00f8j<\/td>\n      <td>Delt hosting, CMS<\/td>\n    <\/tr>\n    <tr>\n      <td>suPHP<\/td>\n      <td>Lav<\/td>\n      <td>Meget h\u00f8j<\/td>\n      <td>H\u00f8j<\/td>\n      <td>Meget h\u00f8j<\/td>\n      <td>Maksimal sikkerhed for filer<\/td>\n    <\/tr>\n    <tr>\n      <td>LSAPI<\/td>\n      <td>Meget h\u00f8j<\/td>\n      <td>Medium<\/td>\n      <td>Meget lav<\/td>\n      <td>Medium<\/td>\n      <td>H\u00f8j trafik med LiteSpeed<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\n<p>Ud fra denne sammenstilling tegner jeg en klar <strong>Konsekvenser<\/strong>Til hosting af flere brugere giver FPM den bedste samlede sikkerhed pr. ydelsesenhed. CGI er stadig en mulighed i s\u00e6rlige tilf\u00e6lde med maksimal adskillelse og f\u00e5 anmodninger. Jeg undg\u00e5r mod_php i milj\u00f8er med flere kunder. LSAPI b\u00f8r overvejes, n\u00e5r LiteSpeed bruges, og der er ekstremt lidt RAM. I de fleste scenarier opvejer fordelene ved separate FPM-pools med klare gr\u00e6nser dog ulemperne.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/01\/php-handler-sicherheit-vergleich-8293.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Konfigurationsf\u00e6lder: sikre standardindstillinger for FPM-stakke<\/h2>\n\n<p>Mange indbrud er for\u00e5rsaget af <strong>Fejlkonfiguration<\/strong>, ikke gennem eksotiske bedrifter. To kontakter er obligatoriske for mig: Jeg indstiller <code>cgi.fix_pathinfo=0<\/code>, for at undg\u00e5 PATH_INFO-traverseringer, og begr\u00e6ns med <code>security.limit_extensions<\/code> de eksekverbare endelser (f.eks. <code>.php,.php8,.phtml<\/code>). I Nginx-ops\u00e6tninger kontrollerer jeg, at <code>SCRIPT_FILNAVN<\/code> er indstillet korrekt, og ingen anmodninger slipper igennem til vilk\u00e5rlige stier. Jeg deaktiverer ogs\u00e5 sj\u00e6ldent brugte funktioner som f.eks. <code>Eksekutor<\/code>, <code>shell_exec<\/code>, <code>proc_open<\/code> og <code>popen<\/code> om <code>disable_functions<\/code>. Det er ikke et universalmiddel, men det reducerer effekten af simple webshells betydeligt. <code>open_basedir<\/code> Jeg bruger det meget selektivt: Det kan hj\u00e6lpe, men f\u00f8rer let til bivirkninger med CLI-jobs, billedmanipulationsbiblioteker eller Composer. Konsekvent stiadskillelse pr. konto og rene ejerrettigheder er bedre.<\/p>\n\n<h2>Isol\u00e9r sessioner, uploads og midlertidige mapper korrekt<\/h2>\n\n<p>F\u00e6lles <strong>Temp stier<\/strong> er en klassiker for Privilege Escalation. For hver FPM-pulje definerer jeg <code>session.save_path<\/code> og <code>upload_tmp_dir<\/code> i en kontospecifik mappe under home, med restriktive rettigheder og kun sticky bit, hvor det er n\u00f8dvendigt. <code>noexec<\/code>, <code>nodev<\/code> og <code>nosuid<\/code> p\u00e5 mounts reducerer angrebsfladen for yderligere niveauer. For session GC s\u00e6tter jeg <code>session.gc_probability<\/code>\/<code>gc_divisor<\/code> s\u00e5 filer <strong>inden for<\/strong> af kontoen kan \u00e6ldes og slettes; jeg afviser globale session buckets p\u00e5 tv\u00e6rs af brugere. Alle, der bruger Redis til sessioner, adskiller strengt navneomr\u00e5der og tildeler separate legitimationsoplysninger og gr\u00e6nser for hver konto. Det forhindrer fejlbeh\u00e6ftet kode i at p\u00e5virke sessioner i andre projekter.<\/p>\n\n<h2>Socket-design, autorisationer og systemd-h\u00e6rdning<\/h2>\n\n<p>FPM-pools kommunikerer via sockets. Jeg foretr\u00e6kker <strong>UNIX-sokler<\/strong> til lokal kommunikation og placere dem i en kontospecifik mappe med <code>0660<\/code> og passende gruppe. Globalt <code>0666<\/code>-sockets er tabu. Alternativt bruger jeg kun TCP med Bind on <code>127.0.0.1<\/code> eller p\u00e5 en intern gr\u00e6nseflade og firewalls. P\u00e5 serviceniveau <strong>systemd<\/strong> p\u00e5lideligt: <code>NoNewPrivileges=true<\/code>, <code>ProtectSystem=strict<\/code>, <code>ProtectHome=true<\/code>, <code>PrivateTmp=true<\/code>, <code>CapabilityBoundingSet=<\/code> (tom), gr\u00e6nser for <code>MemoryMax<\/code>, <code>CPU-kvote<\/code>, <code>OpgaverMax<\/code> og <code>LimitNOFILE<\/code>. Dette eliminerer mange eskaleringsstier, selv hvis en webapp-s\u00e5rbarhed rammes. Jeg placerer ogs\u00e5 pools i deres egne slices for at d\u00e6mpe st\u00f8jende naboer og h\u00e5ndh\u00e6ve budgetter.<\/p>\n\n<h2>CLI, cron og queue worker: samme isolation som p\u00e5 nettet<\/h2>\n\n<p>En hyppig <strong>Blindspot<\/strong>: <code>php-cli<\/code> k\u00f8rer ikke gennem FPM. Jeg starter derfor cronjobs, indekserere og k\u00f8arbejdere eksplicit som den tilknyttede kontobruger og bruger en separat <code>php.ini<\/code> pr. projekt (eller <code>php_value<\/code>-overskridelser), gr\u00e6nserne, udvidelserne og <code>open_basedir<\/code>-\u00e6kvivalenter. Queue workers (f.eks. fra almindelige CMS og frameworks) f\u00e5r de samme RAM\/CPU-budgetter som webprocesser, herunder en genstartstrategi i tilf\u00e6lde af l\u00e6kager. For tilbagevendende jobs s\u00e6tter jeg backoff- og hastighedsgr\u00e6nser, s\u00e5 en defekt feed-import\u00f8r ikke blokerer v\u00e6rten. Paritet er vigtigt: Det, der er forbudt i web-poolen, b\u00f8r ikke pludselig v\u00e6re tilladt i CLI.<\/p>\n\n<h2>Logning, slowlogs og modtryk<\/h2>\n\n<p>Synlighed afg\u00f8r, hvor hurtigt jeg genkender et angreb eller en fejlkonfiguration. For hver pulje skriver jeg min egen <strong>Fejl-logfiler<\/strong> og aktiver <code>request_slowlog_timeout<\/code> fl\u00f8jl <code>slowlog<\/code>, for at f\u00e5 stakspor for hangs. <code>log_limit<\/code> forhindrer individuelle anmodninger i at oversv\u00f8mme logfiler. Med <code>pm.status_path<\/code> og et ping-endepunkt overv\u00e5ger jeg processer, ventetider og udnyttelse. P\u00e5 webserverniveau indstiller jeg <strong>Prisgr\u00e6nser<\/strong>, Det er vigtigt, at FPM bruger gr\u00e6nser og timeouts (header og body read) for at forhindre, at backends bliver overbelastede i f\u00f8rste omgang. En WAF-regelbase kan ogs\u00e5 opfange trivielle angrebsvektorer; det er dog stadig afg\u00f8rende, at FPM holder angrebsoverfladen pr. konto lille, og at gr\u00e6nserne tr\u00e6der p\u00e5lideligt i kraft.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/01\/phphandler_webhosting_0263.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Ren adskillelse af flere PHP-versioner og -udvidelser<\/h2>\n\n<p>Is\u00e6r inden for delt hosting er der flere <strong>PHP-versioner<\/strong> parallelt. Jeg holder mine egne FPM-bin\u00e6re filer, udvidelser og konfigurationer klar til hver version og binder dem <strong>pr. konto<\/strong> til. Sockets ender i separate mapper, s\u00e5 ingen anmodninger ved et uheld bliver sendt til den forkerte pool. OPcache forbliver separat for hver version og hver konto; <code>revalidate_freq<\/code> og <code>validere_tidsstempler<\/code> afh\u00e6ngigt af udgivelsesstrategien. Jeg er forsigtig med JIT: Det fremskynder sj\u00e6ldent typiske CMS-arbejdsbelastninger og \u00f8ger kompleksiteten - at deaktivere det er ofte det sikreste og mest stabile valg. Jeg indl\u00e6ser udvidelser minimalt; alt, hvad der ikke er absolut n\u00f8dvendigt (f.eks. <code>pdo_mysql<\/code> vs. ubrugte chauff\u00f8rer), forbliver udenfor.<\/p>\n\n<h2>Trusselsmodel: typiske angrebsvektorer og handlerens indflydelse<\/h2>\n\n<p>I praksis ser jeg altid de samme m\u00f8nstre: filuploads med eksekverbare slutninger, usikker deserialisering, urene <code>PATH_INFO<\/code>-forwarding, lokal filinklusion og symlink-tricks. FPM l\u00f8ser ikke dette automatisk, men det <strong>begr\u00e6nser r\u00e6kkevidden<\/strong>En kompromitteret pool ser kun sit eget navnerum. Med <code>security.limit_extensions<\/code> og korrekt webserverkonfiguration forhindrer jeg billeduploads i at blive fortolket som PHP. Separate temp- og sessionsstier forhindrer sessioner p\u00e5 tv\u00e6rs af konti og tempfile race. Sammen med restriktive filtilladelser, <code>umask<\/code> og <code>noexec<\/code>-stiger, falder succesraten for simple exploits m\u00e6rkbart.<\/p>\n\n<h2>Filrettigheder, Umask og ejerskabskoncepter<\/h2>\n\n<p>Filsystemer er stadig et hyppigt <strong>S\u00e5rbarhed<\/strong>, hvis tilladelserne er sat forkert. Jeg bruger umask til at regulere standardtilladelser, s\u00e5 uploads ikke ender med at v\u00e6re globalt skrivbare. suPHP eller FPM med den korrekte UID\/GID-tildeling sikrer, at scriptejeren matcher filejeren. Det forhindrer en tredjepartsproces i at \u00e6ndre filer eller l\u00e6se logfiler. Jeg l\u00e5ser ogs\u00e5 f\u00f8lsomme stier, s\u00e6tter noexec p\u00e5 \/tmp-mounts og reducerer angrebsfladen ved konsekvent at adskille l\u00e6se- og skrivestier.<\/p>\n\n<h2>Brug OPcache sikkert<\/h2>\n\n<p>Caching giver hastighed, men uden ren adskillelse skaber det delt hukommelse <strong>Bivirkninger<\/strong>. For FPM-pools holder jeg OPcache adskilt for hver konto, s\u00e5 n\u00f8gler og kode ikke overlapper hinanden. Jeg aktiverer validate_timestamps i udviklingstilstand og s\u00e6nker den kun i produktion til stabile udrulninger, s\u00e5 kode\u00e6ndringer tr\u00e6der i kraft korrekt. Desuden tjekker jeg kun file_cache i kontoens hjemmebibliotek, ikke globalt. Hvis du bruger delt hukommelse, skal du bruge <a href=\"https:\/\/webhosting.de\/da\/https-webhosting-de-shared-memory-risici-hosting-cache-data-isolation\/\">Risici ved delt hukommelse<\/a> og strengt begr\u00e6nse synligheden.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/01\/phphandler_sicherheit_3064.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Kombinationer af webservere: Apache, Nginx, LiteSpeed<\/h2>\n\n<p>Valget af frontend p\u00e5virker latenstid, TLS-h\u00e5ndtryk og h\u00e5ndtering af anmodninger <strong>m\u00e6rkbar<\/strong>. Apache med mpm_event harmonerer godt med FPM, hvis keep-alive og proxy-buffer er korrekt. Nginx f\u00f8r FPM overbeviser med statiske aktiver og kan flytte belastningen v\u00e6k, mens PHP kun modtager dynamiske stier. LiteSpeed med LSAPI giver meget lave omkostninger, men er fortsat bundet til et andet \u00f8kosystem. F\u00f8lgende g\u00e6lder i alle stakke: Adskil FPM-pools rent, definer gr\u00e6nser, overv\u00e5g logfiler, og konfigurer bevidst cachelag.<\/p>\n\n<h2>H\u00e6rdning: chroot, CageFS og Jails<\/h2>\n\n<p>Ud over handlere bestemmer operativsystemets isolation den <strong>Effekt<\/strong> af en indtr\u00e6ngen. Med chroot, CageFS eller Jails l\u00e5ser jeg kontoen i sit eget filsystemunivers. Det betyder, at en angriber mister adgang til bin\u00e6re v\u00e6rtsfiler og f\u00f8lsomme enhedsstier. Kombineret med FPM pr. konto skaber det et forsvar i flere lag, som ogs\u00e5 er effektivt mod plugin-svagheder i CMS-systemer. Hvis du vil sammenligne mulighederne, kan du finde <a href=\"https:\/\/webhosting.de\/da\/php-handler-sammenligning-ydeevne-hosting-optimus-cache\/\">Sammenligning af PHP-handler<\/a> v\u00e6rdifuld orientering til kategorisering af stakkene.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/01\/phphandler-serverraum-8492.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Containere, SELinux\/AppArmor og realistiske forventninger<\/h2>\n\n<p>containere og MAC-frameworks som f.eks. <strong>SELinux<\/strong> eller <strong>AppArmor<\/strong> supplerer FPM effektivt. Containerisering hj\u00e6lper med at binde afh\u00e6ngigheder pr. projekt og begr\u00e6nse adgangen til rodfilsystemet. Jeg holder images p\u00e5 et minimum, fjerner un\u00f8dvendige funktioner og monterer kun de mapper, der virkelig er brug for. SELinux\/AppArmor-profiler begr\u00e6nser systemopkald og forhindrer en proces i at operere uden for sin kontekst. Det er stadig vigtigt: Containere er ikke en erstatning for FPM-isolering og rene filtilladelser - de udg\u00f8r et ekstra lag, der opfanger fejl, ikke erstatter grundlaget.<\/p>\n\n<h2>Praktisk tjekliste til v\u00e6rter og teams<\/h2>\n\n<p>I projekter starter jeg med en klar <strong>Sekvens<\/strong>F\u00f8rst adskiller jeg konti teknisk, og derefter udruller jeg FPM-pools pr. dom\u00e6ne. Derefter s\u00e6tter jeg realistiske gr\u00e6nser, m\u00e5ler belastningsspidser og justerer pm.max_children og pm.max_requests. Derefter kontrollerer jeg filtilladelser, sikrer uploadmapper og fjerner un\u00f8dvendige skriverettigheder. Jeg konfigurerer OPcache pr. pool, s\u00e5 kode, sessioner og cacher forbliver isolerede. Til sidst tester jeg failover: Jeg simulerer hangs, DoS-m\u00f8nstre og out-of-memory-situationer, indtil beskyttelsesmekanismerne fungerer p\u00e5lideligt.<\/p>\n\n<h2>Kort opsummeret<\/h2>\n\n<p>En ting er sikkert for mig: FPM tilbyder det bedste <strong>Balance<\/strong> af sikkerhed og ydeevne, is\u00e6r n\u00e5r man sammenligner fpm med cgi. CGI er stadig nyttigt, n\u00e5r absolut adskillelse prioriteres over hastighed, men FPM opn\u00e5r lignende sikkerhedsm\u00e5l med betydeligt mindre overhead. Dedikerede pools, h\u00e5rde gr\u00e6nser og separate cacher reducerer hostingrisikoen betydeligt i delte milj\u00f8er. Suppleret med procesisolering, rene filtilladelser og kontrolleret OPcache-anvendelse s\u00e6tter en v\u00e6rt de afg\u00f8rende skinner. Ved konsekvent at kombinere disse komponenter beskyttes projekterne effektivt, samtidig med at svartiderne holdes lave.<\/p>","protected":false},"excerpt":{"rendered":"<p>L\u00e6r, hvordan **PHP Handler Security** p\u00e5virkes af FPM vs. CGI, og minimer effektivt hosting-risici.<\/p>","protected":false},"author":1,"featured_media":17147,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_crdt_document":"","inline_featured_image":false,"footnotes":""},"categories":[794],"tags":[],"class_list":["post-17154","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sicherheit-computer_und_internet"],"acf":[],"_wp_attached_file":null,"_wp_attachment_metadata":null,"litespeed-optimize-size":null,"litespeed-optimize-set":null,"_elementor_source_image_hash":null,"_wp_attachment_image_alt":null,"stockpack_author_name":null,"stockpack_author_url":null,"stockpack_provider":null,"stockpack_image_url":null,"stockpack_license":null,"stockpack_license_url":null,"stockpack_modification":null,"color":null,"original_id":null,"original_url":null,"original_link":null,"unsplash_location":null,"unsplash_sponsor":null,"unsplash_exif":null,"unsplash_attachment_metadata":null,"_elementor_is_screenshot":null,"surfer_file_name":null,"surfer_file_original_url":null,"envato_tk_source_kit":null,"envato_tk_source_index":null,"envato_tk_manifest":null,"envato_tk_folder_name":null,"envato_tk_builder":null,"envato_elements_download_event":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_trp_menu_languages":null,"rank_math_primary_category":null,"rank_math_title":null,"inline_featured_image":null,"_yoast_wpseo_primary_category":null,"rank_math_schema_blogposting":null,"rank_math_schema_videoobject":null,"_oembed_049c719bc4a9f89deaead66a7da9fddc":null,"_oembed_time_049c719bc4a9f89deaead66a7da9fddc":null,"_yoast_wpseo_focuskw":null,"_yoast_wpseo_linkdex":null,"_oembed_27e3473bf8bec795fbeb3a9d38489348":null,"_oembed_c3b0f6959478faf92a1f343d8f96b19e":null,"_trp_translated_slug_en_us":null,"_wp_desired_post_slug":null,"_yoast_wpseo_title":null,"tldname":null,"tldpreis":null,"tldrubrik":null,"tldpolicylink":null,"tldsize":null,"tldregistrierungsdauer":null,"tldtransfer":null,"tldwhoisprivacy":null,"tldregistrarchange":null,"tldregistrantchange":null,"tldwhoisupdate":null,"tldnameserverupdate":null,"tlddeletesofort":null,"tlddeleteexpire":null,"tldumlaute":null,"tldrestore":null,"tldsubcategory":null,"tldbildname":null,"tldbildurl":null,"tldclean":null,"tldcategory":null,"tldpolicy":null,"tldbesonderheiten":null,"tld_bedeutung":null,"_oembed_d167040d816d8f94c072940c8009f5f8":null,"_oembed_b0a0fa59ef14f8870da2c63f2027d064":null,"_oembed_4792fa4dfb2a8f09ab950a73b7f313ba":null,"_oembed_33ceb1fe54a8ab775d9410abf699878d":null,"_oembed_fd7014d14d919b45ec004937c0db9335":null,"_oembed_21a029d076783ec3e8042698c351bd7e":null,"_oembed_be5ea8a0c7b18e658f08cc571a909452":null,"_oembed_a9ca7a298b19f9b48ec5914e010294d2":null,"_oembed_f8db6b27d08a2bb1f920e7647808899a":null,"_oembed_168ebde5096e77d8a89326519af9e022":null,"_oembed_cdb76f1b345b42743edfe25481b6f98f":null,"_oembed_87b0613611ae54e86e8864265404b0a1":null,"_oembed_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_oembed_time_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_tldname":null,"_tldclean":null,"_tldpreis":null,"_tldcategory":null,"_tldsubcategory":null,"_tldpolicy":null,"_tldpolicylink":null,"_tldsize":null,"_tldregistrierungsdauer":null,"_tldtransfer":null,"_tldwhoisprivacy":null,"_tldregistrarchange":null,"_tldregistrantchange":null,"_tldwhoisupdate":null,"_tldnameserverupdate":null,"_tlddeletesofort":null,"_tlddeleteexpire":null,"_tldumlaute":null,"_tldrestore":null,"_tldbildname":null,"_tldbildurl":null,"_tld_bedeutung":null,"_tldbesonderheiten":null,"_oembed_ad96e4112edb9f8ffa35731d4098bc6b":null,"_oembed_8357e2b8a2575c74ed5978f262a10126":null,"_oembed_3d5fea5103dd0d22ec5d6a33eff7f863":null,"_eael_widget_elements":null,"_oembed_0d8a206f09633e3d62b95a15a4dd0487":null,"_oembed_time_0d8a206f09633e3d62b95a15a4dd0487":null,"_aioseo_description":null,"_eb_attr":null,"_eb_data_table":null,"_oembed_819a879e7da16dd629cfd15a97334c8a":null,"_oembed_time_819a879e7da16dd629cfd15a97334c8a":null,"_acf_changed":null,"_wpcode_auto_insert":null,"_edit_last":null,"_edit_lock":null,"_oembed_e7b913c6c84084ed9702cb4feb012ddd":null,"_oembed_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_time_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_03514b67990db061d7c4672de26dc514":null,"_oembed_time_03514b67990db061d7c4672de26dc514":null,"rank_math_news_sitemap_robots":null,"rank_math_robots":null,"_eael_post_view_count":"1348","_trp_automatically_translated_slug_ru_ru":null,"_trp_automatically_translated_slug_et":null,"_trp_automatically_translated_slug_lv":null,"_trp_automatically_translated_slug_fr_fr":null,"_trp_automatically_translated_slug_en_us":null,"_wp_old_slug":null,"_trp_automatically_translated_slug_da_dk":null,"_trp_automatically_translated_slug_pl_pl":null,"_trp_automatically_translated_slug_es_es":null,"_trp_automatically_translated_slug_hu_hu":null,"_trp_automatically_translated_slug_fi":null,"_trp_automatically_translated_slug_ja":null,"_trp_automatically_translated_slug_lt_lt":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_elementor_version":null,"_elementor_pro_version":null,"_wp_page_template":null,"_elementor_page_settings":null,"_elementor_data":null,"_elementor_css":null,"_elementor_conditions":null,"_happyaddons_elements_cache":null,"_oembed_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_time_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_time_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_59808117857ddf57e478a31d79f76e4d":null,"_oembed_time_59808117857ddf57e478a31d79f76e4d":null,"_oembed_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_time_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_81002f7ee3604f645db4ebcfd1912acf":null,"_oembed_time_81002f7ee3604f645db4ebcfd1912acf":null,"_elementor_screenshot":null,"_oembed_7ea3429961cf98fa85da9747683af827":null,"_oembed_time_7ea3429961cf98fa85da9747683af827":null,"_elementor_controls_usage":null,"_elementor_page_assets":[],"_elementor_screenshot_failed":null,"theplus_transient_widgets":null,"_eael_custom_js":null,"_wp_old_date":null,"_trp_automatically_translated_slug_it_it":null,"_trp_automatically_translated_slug_pt_pt":null,"_trp_automatically_translated_slug_zh_cn":null,"_trp_automatically_translated_slug_nl_nl":null,"_trp_automatically_translated_slug_pt_br":null,"_trp_automatically_translated_slug_sv_se":null,"rank_math_analytic_object_id":null,"rank_math_internal_links_processed":"1","_trp_automatically_translated_slug_ro_ro":null,"_trp_automatically_translated_slug_sk_sk":null,"_trp_automatically_translated_slug_bg_bg":null,"_trp_automatically_translated_slug_sl_si":null,"litespeed_vpi_list":null,"litespeed_vpi_list_mobile":null,"rank_math_seo_score":null,"rank_math_contentai_score":null,"ilj_limitincominglinks":null,"ilj_maxincominglinks":null,"ilj_limitoutgoinglinks":null,"ilj_maxoutgoinglinks":null,"ilj_limitlinksperparagraph":null,"ilj_linksperparagraph":null,"ilj_blacklistdefinition":null,"ilj_linkdefinition":null,"_eb_reusable_block_ids":null,"rank_math_focus_keyword":"PHP Handler Sicherheit","rank_math_og_content_image":null,"_yoast_wpseo_metadesc":null,"_yoast_wpseo_content_score":null,"_yoast_wpseo_focuskeywords":null,"_yoast_wpseo_keywordsynonyms":null,"_yoast_wpseo_estimated-reading-time-minutes":null,"rank_math_description":null,"surfer_last_post_update":null,"surfer_last_post_update_direction":null,"surfer_keywords":null,"surfer_location":null,"surfer_draft_id":null,"surfer_permalink_hash":null,"surfer_scrape_ready":null,"_thumbnail_id":"17147","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/posts\/17154","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/comments?post=17154"}],"version-history":[{"count":0,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/posts\/17154\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/media\/17147"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/media?parent=17154"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/categories?post=17154"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/tags?post=17154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}