Página da Web não conseguiu encontrar o arquivo de programa CGI

1

Eu estava tentando invocar um programa CGI através de um arquivo html. Mas ficou preso pelo erro "arquivo não encontrado".

Estou tentando o mesmo programa que no site a seguir:

link

Por favor, encontre abaixo o arquivo html:

<html> <head>
<title>The Employee Database</title>
Appears on title bar
</head>
<body>
<h1> Employee Form </h1>
Appears in a large bold font
<hr>
Adds a horizontal rule
<form action=”http://localhost/~ravbholua/emp_add.pl” method=get>
Emp-id: <input type=”text” name=”empid” size=4> <br>
Name: <input type=”text” name=”ename” size=30> <br>
Designation: <input type=”text” name=”desig” size=15> <br>
Department: <input type=”text” name=”dept” size=15> <br>
Dateoffuse: <input type=”text” name=”dtbirth” size=10> <br>
noSalary: <input type=”text” name=”salary” size=10> <br> <br>
<center>
<input type=submit value=”Add”>
The Add button is centered
</center>
</form>
</body>
</html>

Para trabalhar no meu sistema, eu mudei (mudou do que é mencionado no link acima) o caminho do programa CGI Arquivo. O caminho agora é: http://localhost/~ravbholua/emp_add.pl

Quando clico no botão Adicionar, recebo o erro "arquivo não encontrado". Por favor, veja anexo.

Porfavor,dêumaolhadanoformulário(anexo).

Por que não encontrar o arquivo que está no diretório inicial do nome de usuário "ravbholua"? Esses dois anexos ajudariam você a entender o problema.

Eu tenho a mesma consulta no link abaixo, mas ainda não foi resolvida. Por favor, olhe através disso. link

    
por Ravi 15.09.2013 / 10:25

1 resposta

2

O servidor web normalmente não traduz ~ravbholua para o seu diretório pessoal (seria necessária uma configuração especial para fazê-lo), nem eu recomendaria qualquer método para fazê-lo, pois isso faz com que todo o conteúdo do diretório home visível através do servidor - um grande risco de segurança.

Tente criar um diretório public_html no diretório inicial e coloque o arquivo lá. Observe, no entanto, que o servidor da Web pode realmente reescrever a localização de scripts CGI ou se recusar a tratar um arquivo em determinados locais como scripts CGI - novamente, por segurança. Depende da configuração do servidor da web. Da mesma forma, para o mapeamento real de ~ravbholua - ele não pode ir para o diretório $HOME/public_html dos usuários.

Examinar o arquivo de log do servidor da Web em /var/log e, provavelmente, denominado algo como http.log ou apache.log , pode fornecer erros ou informações que possam ajudar a rastrear a causa raiz desse problema. Se isso não funcionar, rastrear o servidor da web usando strace pode ajudar - embora isso possa ser complicado. Os caminhos para todos os arquivos acessados pelo servidor web podem ser vistos via strace .

    
por 16.09.2013 / 08:08

Tags