Portál AbcLinuxu, 12. května 2025 06:06

Dotaz: CGI -textový výstup binárních souboru www (Apache)

18.5.2006 09:43 --- | skóre: 13 | blog: LINUXDRAK
CGI -textový výstup binárních souboru www (Apache)
Přečteno: 168×
Odpovědět | Admin
Mám jednoduchý problém, mám na pc nastavený apache a když zadám do prohlížeče

http://localhost/cgi/test.bin

tak jsem čekal, že se zobrazí www stránka, ale místo toho prohlížeč stáhne soubor.

test.bin je v linuxu přeložený binární soubor (přes gcc, nebolli klasické čečko), který vypiše hlavičku a pak zdrojový kod stránky.

Do souboru httpd.conf jsem přidal :
<Directory "/var/server/www/cgi">
AllowOverride All
Options ExecCGI
Order allow,deny
Allow from all 
</Directory>
Je tam někde chyba ? Nebo mi tam něco chybí ?

Adresář má práva čtení, zápisu a spouštení všemi.

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

Odpovědi

18.5.2006 10:20 hm
Rozbalit Rozbalit vše Re: CGI -textový výstup binárních souboru www (Apache)
Odpovědět | | Sbalit | Link | Blokovat | Admin
AddHandler cgi-script .bin
18.5.2006 10:36 --- | skóre: 13 | blog: LINUXDRAK
Rozbalit Rozbalit vše Re: CGI -textový výstup binárních souboru www (Apache)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Už jsem na to přišel :
<IfModule mod_alias.c>
ScriptAlias /cgi/ "/var/server/cgi/"
</IfModule>

<Directory "var/server/cgi">
AllowOverride All
Options ExecCGI
Order allow,deny
Allow from all 
</Directory>
Nevím proč, ale funguje mi to !
18.5.2006 10:42 hm
Rozbalit Rozbalit vše Re: CGI -textový výstup binárních souboru www (Apache)
nefungovalo vám to, protože apache nemá jak poznat, že je to CGI skript (ve čtení myšlenek zatím počítače poněkud zaostávají... :-)
18.5.2006 11:35 --- | skóre: 13 | blog: LINUXDRAK
Rozbalit Rozbalit vše Re: CGI -textový výstup binárních souboru www (Apache)
To máte úplnou pravdu ! Apache vám ani neudělá dynamické stránečky, když mu nenastavím, že někde má adresář pro php a ty soubory mají určité koncovky ....

Akorád tedka nevím, jak zabezpečit bin soubor proti stažení pomocí stahovacích programů. Nebo si to apache hlídá samo ?
19.5.2006 07:11 Ja.
Rozbalit Rozbalit vše Re: CGI -textový výstup binárních souboru www (Apache)
kdyz se pripojis k webovemu serveru a pozadas ho o stazeni CGI, spusti to CGI a posle ti vysledek...
18.5.2006 11:53 --- | skóre: 13 | blog: LINUXDRAK
Rozbalit Rozbalit vše Re: CGI -textový výstup binárních souboru www (Apache)
K těm myšlenkám :

mzslím, že i lidé to moc nedovedou ....
18.5.2006 12:10 hm
Rozbalit Rozbalit vše Re: CGI -textový výstup binárních souboru www (Apache)
Pokud apache ví, že je to CGI skript, tak ho zpracuje (spustí [nebo nespustí, vypíše chybu apod.], ale neposílá ten soubor klientovi)... Pokud neví co s tím souborem má dělat, pak ho pošle klientovi (defaultní chování). Žádné zabezpečování proti "stažení" teda není potřeba, stačí správně nastavit, co je a co není CGI skript.

K těm myšlenkám: lidi ne, ale ženský jo! Jen je zajímavý, že když si myslím "teď neotravuj, chci koukat na fotbal", tak tu schopnost najednou ztratí :-)
18.5.2006 12:14 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: CGI -textový výstup binárních souboru www (Apache)
Z čeho soudíte, že ji ztratí? Že vás nenechají v klidu koukat, to přeci neznamená, že nevědí, že to chcete… :-)
18.5.2006 20:14 --- | skóre: 13 | blog: LINUXDRAK
Rozbalit Rozbalit vše Re: CGI -textový výstup binárních souboru www (Apache)
Jenom se divím, že ve 98% apache cgi zpracuje a ve 2% jej pošle klientovi.

Proč se to děje ?

Příklad :

Z localhostu to běhá na 100% (klient dostane až výsledek), ale z jiného pc v rámci jednoho segmentu to ve 2% udělá chybu (soubor se stáhne) ...

Co s tím ?
19.5.2006 07:14 Ja.
Rozbalit Rozbalit vše Re: CGI -textový výstup binárních souboru www (Apache)
Jestli se nepletu, tak na httpd.apache.org jsou skvele popsany vsechny direktivy jednotlivych verzi. Dokonce jsou tam i nejake tutorialy...
18.5.2006 11:47 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: CGI -textový výstup binárních souboru www (Apache)
Je lepší používat jen jednu variantu identifikace CGI skriptů:

1. Direktivou ScriptAlias vyhradit adresář, kde bude všechno pokládáno za CGI skript.

2. Definovat direktivou AddHandler příponu označující CGI skripty a ve vyhrazených adresářích povolit jejich provádění příznakem ExecCGI.

Lze samozřejmě kombinovat oboje, ale pak v tom budete mít zmatek. Osobně dávám přednost první variantě.

18.5.2006 11:49 --- | skóre: 13 | blog: LINUXDRAK
Rozbalit Rozbalit vše Re: CGI -textový výstup binárních souboru www (Apache)
Vždyt jsem to tak napsal :
ScriptAlias /cgi/ "/var/server/cgi/"
18.5.2006 11:53 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: CGI -textový výstup binárních souboru www (Apache)
To ano, jen už je v takovém případě zbytečné povolovat příznak ExecCGI.
18.5.2006 11:54 --- | skóre: 13 | blog: LINUXDRAK
Rozbalit Rozbalit vše Re: CGI -textový výstup binárních souboru www (Apache)
Takže to mám smazat a restarovat démona, že ?

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.