{"id":15298,"date":"2025-08-12T18:30:11","date_gmt":"2025-08-12T16:30:11","guid":{"rendered":"https:\/\/dhosting.pl\/pomoc\/?post_type=manual_kb&#038;p=15298"},"modified":"2025-08-12T18:30:11","modified_gmt":"2025-08-12T16:30:11","slug":"dlaczego-funkcja-proc_open-nie-jest-dostepna","status":"publish","type":"manual_kb","link":"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/dlaczego-funkcja-proc_open-nie-jest-dostepna\/","title":{"rendered":"Dlaczego funkcja proc_open nie jest dost\u0119pna"},"content":{"rendered":"<h2>Czym jest <code class=\"\" data-line=\"\">proc_open<\/code> w PHP<\/h2>\n<p>Funkcja <code class=\"\" data-line=\"\">proc_open<\/code> w PHP s\u0142u\u017cy do uruchamiania proces\u00f3w systemowych oraz komunikacji z nimi za pomoc\u0105 potok\u00f3w (pipes). W praktyce daje programi\u015bcie mo\u017cliwo\u015b\u0107 bezpo\u015bredniego wywo\u0142ywania polece\u0144 systemu operacyjnego i odbierania ich wynik\u00f3w w czasie rzeczywistym. Jest to narz\u0119dzie niezwykle pot\u0119\u017cne &#8211; ale jednocze\u015bnie potencjalnie bardzo ryzykowne, szczeg\u00f3lnie w \u015brodowiskach wsp\u00f3\u0142dzielonych lub obs\u0142uguj\u0105cych wielu u\u017cytkownik\u00f3w.<\/p>\n<div id=\"dhost-847890207\" class=\"dhost-inpost dhost-entity-placement\"><a href=\"https:\/\/dhosting.pl\/opieka-stron.html?utm_source=pomoc&utm_medium=artykul&utm_campaign=pomoc\" target=\"_blank\">\r\n\t<img decoding=\"async\" src=\"https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2025\/01\/baner-opieka.png\" alt=\"opieka stron www\">\r\n<\/a>\r\n<br \/>\r\n<br \/><\/div><h2>Potencjalne zagro\u017cenia wynikaj\u0105ce z u\u017cycia <code class=\"\" data-line=\"\">proc_open<\/code><\/h2>\n<p>Dost\u0119p do <code class=\"\" data-line=\"\">proc_open<\/code> otwiera drzwi do wykonywania praktycznie dowolnych komend w systemie operacyjnym. Mo\u017ce to prowadzi\u0107 do powa\u017cnych problem\u00f3w bezpiecze\u0144stwa, takich jak:<\/p>\n<ul>\n<li>Nieautoryzowany dost\u0119p do plik\u00f3w i danych &#8211; b\u0142\u0119dnie zabezpieczony kod mo\u017ce pozwoli\u0107 na odczyt lub modyfikacj\u0119 plik\u00f3w innych u\u017cytkownik\u00f3w na serwerze.<\/li>\n<li>Ataki typu Remote Code Execution (RCE) &#8211; z\u0142o\u015bliwy u\u017cytkownik lub atakuj\u0105cy mo\u017ce wstrzykn\u0105\u0107 w\u0142asne komendy do kodu, uruchamiaj\u0105c je na serwerze.<\/li>\n<li>Omijanie mechanizm\u00f3w bezpiecze\u0144stwa &#8211; dzi\u0119ki <code class=\"\" data-line=\"\">proc_open<\/code> mo\u017cliwe jest wywo\u0142ywanie narz\u0119dzi systemowych, kt\u00f3re mog\u0105 ingerowa\u0107 w konfiguracj\u0119 lub uruchamianie proces\u00f3w.<\/li>\n<li>Przeci\u0105\u017cenie serwera \u2013 niekontrolowane procesy mog\u0105 zu\u017cywa\u0107 zasoby CPU i pami\u0119ci, co wp\u0142ywa na stabilno\u015b\u0107 ca\u0142ego \u015brodowiska.<\/li>\n<\/ul>\n<h2>Dlaczego <code class=\"\" data-line=\"\">proc_open<\/code> jest blokowane na wielu hostingach<\/h2>\n<p>Na wielu typach hosting\u00f3w \u2013 szczeg\u00f3lnie tam, gdzie infrastruktura jest wsp\u00f3\u0142dzielona mi\u0119dzy u\u017cytkownikami \u2013 aktywacja <code class=\"\" data-line=\"\">proc_open<\/code> niesie powa\u017cne ryzyko naruszenia bezpiecze\u0144stwa i stabilno\u015bci serwera. W takich \u015brodowiskach jeden u\u017cytkownik m\u00f3g\u0142by teoretycznie uzyska\u0107 dost\u0119p do zasob\u00f3w innego lub zak\u0142\u00f3ci\u0107 prac\u0119 ca\u0142ego systemu.<\/p>\n<div class=\"info-alert-format\">\n<p>W dhosting funkcja <code class=\"\" data-line=\"\">proc_open<\/code> jest ca\u0142kowicie niedost\u0119pna ze wzgl\u0119d\u00f3w bezpiecze\u0144stwa i nie ma mo\u017cliwo\u015bci jej aktywacji na \u017cyczenie. Jest to standardowa praktyka w trosce o ochron\u0119 danych klient\u00f3w oraz stabilno\u015b\u0107 us\u0142ug.<\/p>\n<\/div>\n<h2>Alternatywy dla <code class=\"\" data-line=\"\">proc_open<\/code><\/h2>\n<p>Je\u015bli w projekcie potrzebne s\u0105 operacje na plikach lub wykonywanie okre\u015blonych zada\u0144 systemowych, warto poszuka\u0107 bezpieczniejszych rozwi\u0105za\u0144:<\/p>\n<ul>\n<li>Wbudowane funkcje PHP do manipulacji plikami &#8211; <code class=\"\" data-line=\"\">file_get_contents<\/code>, <code class=\"\" data-line=\"\">fopen<\/code>, <code class=\"\" data-line=\"\">scandir<\/code>.<\/li>\n<li>Integracja z API lub us\u0142ugami zewn\u0119trznymi.<\/li>\n<li>W\u0142asne skrypty CLI uruchamiane w kontrolowanym \u015brodowisku, np. na serwerze VPS.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Podsumowujac\"><\/span>Podsumowuj\u0105c<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Blokada <code class=\"\" data-line=\"\">proc_open<\/code> na wielu hostingach, w tym w dhosting, nie jest przypadkowa \u2013 to \u015bwiadome dzia\u0142anie maj\u0105ce na celu ochron\u0119 u\u017cytkownik\u00f3w, ich danych i stabilno\u015bci serwera. Je\u015bli projekt wymaga tej funkcji, jedynym bezpiecznym rozwi\u0105zaniem jest przeniesienie go na serwer VPS lub dedykowany, gdzie \u015brodowisko jest w pe\u0142ni izolowane.<\/p>\n","protected":false},"author":6,"featured_media":10957,"parent":0,"menu_order":0,"template":"","format":"standard","manualknowledgebasecat":[2880,118],"manual_kb_tag":[5778,5779,5781,5777,5776,5780],"class_list":["post-15298","manual_kb","type-manual_kb","status-publish","format-standard","has-post-thumbnail","hentry","manualknowledgebasecat-bezpieczenstwo","manualknowledgebasecat-pozostale","manual_kb_tag-bezpieczenstwo-proc_open","manual_kb_tag-blokada-proc_open-hosting","manual_kb_tag-php-proc_open-alternatywy","manual_kb_tag-proc_open-niedostepny-dhosting","manual_kb_tag-proc_open-php","manual_kb_tag-proc_open-zagrozenia"],"_links":{"self":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/15298","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb"}],"about":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/types\/manual_kb"}],"author":[{"embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/users\/6"}],"version-history":[{"count":2,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/15298\/revisions"}],"predecessor-version":[{"id":15300,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/15298\/revisions\/15300"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/media\/10957"}],"wp:attachment":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/media?parent=15298"}],"wp:term":[{"taxonomy":"manualknowledgebasecat","embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manualknowledgebasecat?post=15298"},{"taxonomy":"manual_kb_tag","embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb_tag?post=15298"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}