Obrigado por tentar me ajudar. Muito Obrigado .

Acho que com a sua ajuda j� consegui fazer O Apache ler os scripts na pasta
/home/httpd/cgi-bin, mas ainda n�o consegui a prova concreta, pois continuo
recebendo Internal Server Error.

Eu explico:

� que o erro que aparece no error.log, em /var/log/httpd/ mudou, agora �:

syntax error at /home/httpd/cgi-bin/chat.cgi line 38, near ""look") "
Unrecognized character \xA1 at /home/httpd/cgi-bin/chat.cgi line 110.
[Fri Jun  1 17:04:42 2001] [error] [client 127.0.0.1] Premature end of script
headers: /home/httpd/cgi-bin/chat.cgi

Presumo que isso queira dizer que a leitura de cgis no /home/httpd/cgi-bin/
j� est� habilitada, e correta, estando o probelma do Internal Server error
pr�prio chat.cgi.

� isso mesmo n�?

� estranho, pois no servidor onde hospedo o site nunca deu este problema.

Se vc, ou algu�m da lista ainda tiver paci�ncia, mando a trascri��o das
linhas 38 e 110 do chat.cgi, bem como o arq.  return_message.cgi, a que se
refere a linha 38 do chat.cgi.

No final, coloquei inteiro o chat.cgi tbm...

Agrade�o qualquer ajuda.

Mais uma vez, Obrigado.

Linha 38 do chat.cgi:

}
elsif ($job eq "look"){
   do 'return_message.cgi'; "look") {  (esta � linha 38)
   do 'return_message.cgi';
   &return_message;
}

Linha 110 do chat.cgi

else {
   $FORM{$_[0]}=$_[1];
}
}
##########
{$_[0]}��$_[1]";     (esta � a linha 110)
}


Script inteiro do chat.cgi, e abaixo o script inteiro do return_message.cgi

#!/usr/bin/perl

################
# SetUp Begin
require "config.txt";
# SetUp End
#############
$|=1;

print "Content-type: text/html;\n\n";

$userlevel =1;
$allow_html=1;
$exist     ="no";

$allow_html=1 if ($userlevel>=$level_html);

&get_form;
&set_var;

if ($job eq "login") {
   do 'write_online.cgi';
   do 'write_message.cgi';
   do 'whole.cgi';
   &write_online("online");
   &write_message("login") if ($exist eq "no");
   &return_whole;
}
elsif ($job eq "logout") {
   do 'write_online.cgi';
   do 'write_message.cgi';
   do 'logout.cgi';
   &write_online("outline");
   &write_message("logout") if ($exist ne "no");
   &return_logout;
}
elsif ($job eq "look"){
   do 'return_message.cgi'; "look") {
   do 'return_message.cgi';
   &return_message;
}
elsif ($job eq "says") {
   do 'write_message.cgi';
   do 'return_message.cgi';
   &write_message("says");
   &return_message;
}
elsif ($job eq "online") {
   do 'write_online.cgi';
   do 'return_online.cgi';
   &write_online(online);
   &return_online;
}
elsif ($job eq "adver") {
   do 'adver.cgi';
   &return_adver;
}
elsif ($job eq "settype") {
   do 'type.cgi';
   &return_type;
}
elsif ($job eq "setfunc") {
   do 'func.cgi';
   &return_func;
}

###########
sub get_form {
@querys = split(/&/, $ENV{'QUERY_STRING'});
foreach (@querys) {
  ($name,$value) = split(/=/, $_);
  $value = &filterhtml($value);
  &setvaluetoform($name, $value);
  if ($name eq "userpassword") {&check_password;}
}

read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach (@pairs) {
  ($name, $value) = split(/=/, $_);
  $value =~ tr/+/ /;
   $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;


  $value = &filterhtml($value);
  &setvaluetoform($name, $value);
  if ($name eq "userpassword") {&check_password;}
}
}
##########
sub filterhtml {
local($return)=$_[0];
$return =~ s/<!--(.|\n)*-->//g;
if ($allow_html != 1) {
   $return =~ s/<([^>]|\n)*>//g;
   $return =~ s/<//g;
}
return $return;
}
##########
sub setvaluetoform {
if ($FORM{$_[0]}) {
   $FORM{$_[0]}="$FORM{$_[0]}��$_[1]";
}
else {
   $FORM{$_[0]}=$_[1];
}
}
##########
{$_[0]}��$_[1]";
}
else {
   $FORM{$_[0]}=$_[1];
}
}
##########
sub check_password {
$userid       =&get_var('userid'      ,'\n|"|<|>|\&|;| |\?|��') if
($usernameasuserid==0);
$userid       =&get_var('username'    ,'\n|"|<|>|\&|;| |\?|��') if
($usernameasuserid==1);
$userpassword =&get_var('userpassword','\n|"|<|>|\&|;| |\?|��');
if ($super{$userid}) {
   ($chkuserpassword,$chkuserlevel)=split(/��/,$super{$userid});
   $userlevel=$chkuserlevel if ($chkuserpassword eq $userpassword);
   $allow_html=1 if ($userlevel>=$level_html);
}
}
##########
sub set_var {
$job              =&get_var('job'            ,'\n|��');
$username         =&get_var('username'       ,'\n|"|<|>|\&|;| |\?|��');
$usersex          =&get_var('usersex'        ,'\n|��');
$autocls          =&get_var('autocls'        ,'\n|��');
$towhoway         =&get_var('towhoway'       ,'\n|��');
$towho            =&get_var('towho'          ,'\n|��');
$says             =&get_var('says'           ,'\n|��');
$addwordcolor     =&get_var('addwordcolor'   ,'\n|��');
$addsays          =&get_var('addsays'        ,'\n|��');
$addsign          =&get_var('addsign'        ,'\n|��');
$changelogouturl  =&get_var('changelogouturl'  ,'\n|��');

&checkempty($job     ,"No Job");
&checkempty($username,"No Username");
&checkempty($usersex ,"No Usersex") if ($usersexmust==1);
&checkempty($says    ,"No Says")    if ($job eq "says");

$userip=$ENV{'REMOTE_ADDR'};

($secn,$minn,$hourn,$dayn,$monn,$yearn,$weekn,$yeardayn,$isdst)
=earn,$weekn,$yeardayn,$isdst) = localtime(time+(3600*$time_miss));
$monn=$monn+1;
if ($monn<10)  {$monn="0$monn";}
if ($dayn<10)  {$dayn="0$dayn";}
if ($hourn<10) {$hourn="0$hourn";}
if ($minn<10)  {$minn="0$minn";}
if ($secn<10)  {$secn="0$secn";}
$daten="$yearn/$monn/$dayn";
$timen="$hourn\:$minn\:$secn";
$secn=$hourn*60*60+$minn*60+$secn;
$reloadtimes=4;
$reloadxx=$reloadx*$reloadtimes;
$reloadxxx=$reloadxx*$reloadtimes;
$userinfo="&username=$username";
$userinfo="$userinfo&usersex=$usersex" if ($usersex ne "");
$userinfo="$userinfo&userid=$userid&userpassword=$userpassword" if (($userid)
&& ($userid ne "") && ($userpassword) && ($userpassword ne ""));
}

#########
sub get_var {
local($return)="";
$return="$FORM{$_[0]}" if ($FORM{$_[0]});
$return=~ s/$_[1]//g;
return $return;
}
#########
sub readtxtfile {
open(READTXTFILE,"$filehead$_[0]");
#flock(READTXTFILE,$_[1]) if ($_[1]);
@readtxtfile=<READTXTFILE>;
#flock(READTXTFILE,8) if ($_[1]);
close(READTXTFILE);
return @readtxtfile;
}
#############
sub checkempty {
local($chkval)=$_[0];
$chkval =~ s/ |<br>|\n//g;
&error($_[1]) if ($chkval eq "");
}
##########
sub error {
print "<html><head><title>$roomtitle erro</title>\n";
print "<META HTTP-EQUIV=REFRESH CONTENT='$_[1];URL=$_[2]'>\n" if (($_[1]) &&
($_[2]));
print "</head><body bgcolor=$messageback text=#FFFFFF>\n";
print "<center><h1>ERRO</h1><h2>$_[0]</h2></center>\n";
print "</body></html><style>\n";
exit 0;
}
############body></html><style>\n";
exit 0;
}
############


Scritp do return_message.cgi:

do 'messageshow.cgi';
sub return_message {
@message=&readtxtfile($messagefile,2);
#@message=sort @message;
if ($#message>$allow_message*10) {
   open(MESSAGE,">$filehead$messagefile") || die $!; flock(MESSAGE,2);
   for($i=0;$i<=$#message;$i++) {
      if ($i<$#message-$allow_message*2) {if ($allow_messagerecord==1) {print
MESSAGERECORD "$message[$i]";}}
      else {print MESSAGE "$message[$i]";}
   }
   flock(MESSAGE,8);
   close(MESSAGE);
}
$messagerecordnumber=$#message;
splice(@message,0,$#message+30-$allow_message*2);




print "<html><head><title>Message</title>\n";

print<<"print_tag";
<body text="#423232" background="$server/chat/bk_salas.gif">
<font face=\"arial\" size=\"2\">
<SCRIPT LANGUAGE="JavaScript1.1">ANGUAGE="JavaScript1.1">
  <!--
    var autoScrollOn = 1;
    var scrollOnFunction;
    var scrollOffFunction;

    function scrollWindow( )
    {
        if ( autoScrollOn == 1 )
        {
            this.scroll(0, 65000);
            setTimeout('scrollWindow()', 200);
        }  // end if
    }  // end scrollWindow

    function scrollOn( )
    {
        autoScrollOn = 1;
        scrollWindow( );
    }  // end scrollOn

    function scrollOff( )
    {
        autoScrollOn = 0;
    }  // end scrollOff

    function StartUp( )
    {
        this.onblur  = scrollOnFunction;
        this.onfocus = scrollOffFunction;
        scrollWindow( );
    }  // end StartUp

  scrollOnFunction = new Function('scrollOn( )')
  scrollOffFunction = new Function('scrollOff( )')
  StartUp();
  // -->
</SCRIPT>
print_tag

print "<META HTTP-EQUIV=REFRESH
CONTENT='$reloadx;URL=$cgiurl?job=look$userinfo'>\n";
print "</head><body bgcolor=$messageback BACKGROUND=\"bk_salas.gif\"
text=$messageword><basefont size=3>\n";


$messageshow=0;
for($i=0;($i<=$#message) && ($messageshow<=$allow_message);$i++) {

($chkdaten,$mark,$chkuserip,$chkusername,$chkuserlevel,$chkusersex,$chktowhow
ay,$chktowho,$chkaddwordcolor,$chkaddsays,$chkaddsign,$chksays,$markend,$last
)=split(/��/,$message[$i]); if ($markend eq "end") {&message_show;}
}
print "</body></html><style>\n";

open(ONLINE,">>$filehead$onlinefile") || die $!;
print ONLINE ,">>$filehead$onlinefile") || die $!;
print ONLINE
"online��$userip��$username��$userlevel��$usersex��$secn��end��\n";
close(ONLINE);
}
}

Sempre agradecido

Gustavo

-------------------------------------------------------

Assinantes em 02/06/2001: 2271
Mensagens recebidas desde 07/01/1999: 116370
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista: 
            mailto:[EMAIL PROTECTED]

Responder a