免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1819 | 回复: 2
打印 上一主题 下一主题

一个关于使用CGI程序生成本地配置文件的问题,请各位帮忙,谢谢! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-12 12:51 |只看该作者 |倒序浏览
以下为CGI程序:
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
if ($ENV{'REQUEST_METHOD'} eq "POST") {
   read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
} elsif ($ENV{'REQUEST_METHOD'} eq "GET") {
   $buffer=$ENV{'QUERY_STRING'};
}
print "<H1>\311\372\263\311\265\304\305\344\326\303\316\304\274\376\304\332\310\335\310\347\317\302:</H1>";
print "<ul>\n";
@pairs = split(/&/, $buffer);

foreach $pair (@pairs)
{
   ($name, $value) = split(/=/, $pair);
   $value =~ tr/+/ /;
   $value =~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
   $link{$name}=$value;
}

.......
经过一段对输入信息的处理后,生成一个配置文件数组@config,我想把这个数组的内容写到一个文件里,我使用的是下面的代码

open(TEMP,"+>./config-temp") || die "<p>$!";
print TEMP @config;
close(TEMP);


在通过表单提交操作后,我在主机上的相应目录里去找config-temp文件,但是却找不到,不知道为什么?请各位帮忙解答,谢谢!

论坛徽章:
0
2 [报告]
发表于 2007-11-13 11:37 |只看该作者
原帖由 hotren 于 2007-11-12 12:51 发表
以下为CGI程序:
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
if ($ENV{'REQUEST_METHOD'} eq "POST") {
   read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
} elsif ($ENV{'REQUEST_MET ...




如果你使用的是apach ,首先你应该去查看/etc/httpd/logs/error_log 下的日志文件。他会告诉你你的CGI程序哪里会有问题。
我估计是权限的问题。所以笨办法是先建立一个同名的文件把权限改成所有人都能写。具体错误情况看日志。

论坛徽章:
0
3 [报告]
发表于 2007-11-13 16:59 |只看该作者
谢谢,最后确认确实是权限问题, 依你所说,把需要修改的文件权限设成777,搞定了,虽然感觉有隐患,但是只能先这样儿了,用别的方式安全一下吧先,呵呵!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP