Найти - Пользователи
Полная версия: Cgi показывает исходный код
Начало » Web » Cgi показывает исходный код
1 2 3
PooH
Ну по первому запросу понятно, запрещено содержимое каталога “/cgi-bin/” показывать, а вот когда полный путь пробуете(кстати покажите его) что в ответ получаете?
Egor2010
Ответ где?
В браузере?
PooH
Ну по первому запросу понятно, запрещено содержимое каталога “/cgi-bin/” показывать, а вот когда полный путь пробуете(кстати покажите его) что в ответ получаете?
PooH
Egor2010
Ответ где?
В браузере?
Да, именно в браузере.
Egor2010
Error response

Error code 403.

Message: CGI script is not a plain file ('/cgi-bin/').

Error code explanation: 403 = Request forbidden – authorization will not help.
PooH
Что то не так, он говорит вам, дословно, что CGI скрипт, к которому вы обращаетесь, не скрипт, а каталог, и обращаться к каталогу запрещено, и авторизация не поможет, все равно запрещено. А вы утверждаете, что обращаетесь к файлу в каталоге /cgi-bin/.

Можете выложить свой опус куда-нибудь, я руками пощупаю, так не могу понять?

Egor2010
Сейчас я обращался просто в папку cgi-bin .
Egor2010
Кто-нибудь подскажет что делать?
romario82
У меня такой же прикол, только с wsgi.
Установил Apache 2.4, настроил виртуальный хост, установил wsgi.

При такой конфигурации виртуального хоста:
<VirtualHost *:80>

ServerName vh1.t
ServerAdmin webmaster@localhost
DocumentRoot /home/rlab/www/vh1

<Directory /home/rlab/www/vh1>
Require all granted
Options Indexes FollowSymLinks
AllowOverride All
</Directory>

WSGIScriptAlias / /home/rlab/www/cgi-bin1/app.wsgi

<Directory /home/rlab/www/cgi-bin1>
Order allow,deny
Require all granted
Allow from all
</Directory>

</VirtualHost>

Скрипт работает как надо, а при такой конфигурации:
<VirtualHost *:80>

ServerName vh1.t
ServerAdmin webmaster@localhost
DocumentRoot /home/rlab/www/vh1

<Directory /home/rlab/www/vh1>
Require all granted
Options Indexes FollowSymLinks
AllowOverride All
</Directory>

Alias /cgi-bin1/ /home/rlab/www/cgi-bin1/
<Location /cgi-bin1>
SetHandler cgi-bin1
Options +ExecCGI
Order allow,deny
Require all granted
Allow from all
</Location>

</VirtualHost>

Выводит текст скрипта в браузер ?!
Скрипт:
#!/usr/bin/python
# -*- coding:utf-8 -*-
import sys
import os
path = os.path.dirname(__file__)
sys.path.append(path)
os.chdir(path)
def application(environ, start_response):
    status = '200 OK' 
    output = 'Hello world!!!'
    response_headers = [('Content-type', 'text/html; charset=utf-8'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)
    return [output] 






Egor2010
Да показывает исходный код скрипта ,
<VirtualHost *:80>

ServerName vh1.t
ServerAdmin webmaster@localhost
DocumentRoot /home/rlab/www/vh1

<Directory /home/rlab/www/vh1>
Require all granted
Options Indexes FollowSymLinks
AllowOverride All
</Directory>

Alias /cgi-bin1/ /home/rlab/www/cgi-bin1/
<Location /cgi-bin1>
SetHandler cgi-bin1
Options +ExecCGI
Order allow,deny
Require all granted
Allow from all
</Location>

</VirtualHost>
Это в каком файле поменять надо ?
romario82
Это настройка виртуального хоста в Apache 2.4
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB