Portál AbcLinuxu, 13. května 2025 03:43

Dotaz: Editace CGI souboru

16.9.2020 15:30 cvp | skóre: 18
Editace CGI souboru
Přečteno: 434×
Odpovědět | Admin
Ahoj, potřeboval bych upravit CGI soubor ve kterém jsou HTML tágy, které potřebuji upravit. Nechci ale CGI soubor poškodit. Čím editovat?

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

xkucf03 avatar 16.9.2020 17:06 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Editace CGI souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin

V první řadě doporučuji použít nějaký verzovací systém (např. Mercurial). I kdybys pak soubor poškodil, můžeš si verze porovnat, vidět přesně, co se změnilo, a případně se vrátit ke starší verzi. Mercurial můžeš provozovat i lokálně, nepotřebuješ k tomu žádný hosting ani vlastní server.

Co se týče editoru, tam záleží, v jakém jazyce ten CGI skript je napsaný (Bash? Perl? …). Tzn. hledat něco, co umí zvýrazňovat syntaxi v tomto jazyce (to většinou nebude problém) nebo i napovídat a validovat (to už je těžší). Osobně používám na většinu věcí Netbeans protože mj. hezky zobrazují, které řádky jsou změněné (oproti poslední commitnuté verzi), takže neustále vidíš, kde jsi něco měnil a kde by případně mohla být chyba, když ti program náhle přestane fungovat.

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
16.9.2020 17:09 cvp | skóre: 18
Rozbalit Rozbalit vše Re: Editace CGI souboru
Co tak zjišťuji, tak půjde o binární soubor :/ Čím tedy otevřít, editovat?
Format:	ELF 32-bit LSB executable
ARM
EABI5 version 1 (SYSV)
dynamically linked
interpreter /lib/ld-
for GNU/Linux 2.6.26
BuildID[sha1]=b0a0588563d1169c9faa3bc8bad1377ff84d1baa
stripped
Řešení 1× (Filip Jirsák)
16.9.2020 17:20 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Editace CGI souboru

Nic takového jako "CGI soubor" neexistuje, zkratka CGI znamená Common Gateway Interface a jde o rozhraní mezi webovým serverem a programem generujícím data pro klienty. V podstatě to funguje tak, že když klient požádá o příslušnou stránku, místo aby se mu poslal existující soubor, spustí se program a klientovi se pošle jeho výstup.

Tím programem může být cokoli od shellového skriptu přes PHP nebo perlové skripty až po obyčejné ELF spustitelné soubory ("binárka"), což je i váš případ (jen mne trochu překvapuje to "32-bit", to už je dnes trochu anachronismus). Ty moc editovat nejde, nebo aspoň ne bez potřebných znalostí a už vůbec ne snadno. Spíš si sežeňte zdrojáky, upravte je a program přeložte znovu.

Jendа avatar 17.9.2020 02:39 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Editace CGI souboru
jen mne trochu překvapuje to "32-bit", to už je dnes trochu anachronismus
Píše ARM, tam aarch64 v embedded ještě moc rozšířený není…
Řešení 1× (AraxoN)
xkucf03 avatar 16.9.2020 17:37 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Editace CGI souboru

Tak to je horší. Zdrojové kódy od toho vážně nejsou?

Pokud by šlo o malou změnu (např. drobná změna HTML/CSS, kde výsledný text bude stejně dlouhý nebo kratší), tak to jde udělat v hexadecimálním editoru. Zachování délky (kratší text lze nahradit mezerami, ale delší tam nedostaneš) je zásadní, protože jinak se to celé posune, změní se adresy v paměti a program přestane fungovat. Tzn. nejde tam jen tak do prostředka něco dopsat.

Jinak bys musel program dekompilovat – pak ti z toho vypadne assembler nebo nějaké ošklivé céčko. To se sice edituje dost špatně, ale jde to a pokud potřebuješ jen upravit texty, tak je prostě jen najdeš v tom zdrojáku, přepíšeš a znovu zkompiluješ.

Další možnost je nechat tu binárku tak jak je, brát ji jako černou skříňku a jen ji obalit nějakým skriptem. Tento skript může jednak přepisovat parametry, které jsou na vstupu toho CGI programu, a jednak může upravovat jeho výstup (HTML dokument a HTTP hlavičky).

A nejčistší možnost je: zdokumentovat, co ten program dělá resp. co by měl dělat, a napsat to znova.

To je tak všechno, co můžu takhle v diskusi bez dalších informací poradit. Případně jestli s tím chceš pomoct, tak mi napiš, můžu na to kouknout a udělat vám nějakou nabídku – zabývám se zakázkovým vývojem.

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
16.9.2020 17:46 cvp | skóre: 18
Rozbalit Rozbalit vše Re: Editace CGI souboru
Potřebuji to spíše dekompilovat. Editaci pak zvládnu a pak následně potřebuji kompilovat. Poradíte s tímto? Strašně moc děkuji.
16.9.2020 19:04 X
Rozbalit Rozbalit vše Re: Editace CGI souboru
Nspriklad v radare2, ale pokud se sam ptas k nicemu to pravdepodobne nebude..
22.9.2020 13:47 Harvie.CZ
Rozbalit Rozbalit vše Re: Editace CGI souboru
O jaky program konkretne jde?? Nejspis to bude nakej opensource a zdrojaky pujdou sehnat bez dekompilace. Obzvlast jestli to je nainstalovany z distribucniho balicku... Konec koncu dekompilovany zdrojaky stejne nebudou moc citelny...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.