如何限制perl cgi只被指页面调用?

如何限制perl cgi只被指页面调用?

我写了个perl cgi, 用来处理form提交的表单, 但我发现可以直接在浏览器栏内输入该perl cgi的url来执行该perl程序, 如何限制该perl程序不能直接被浏览器调用(即在地址栏内输入perl名字直接调用)? 而只能够通过form提交来调用? 谢谢!
想不出来~
表单的话会post一些数据的,如果你的cgi啥都没param()到,
就可以不做数据处理,直接转到表单的html页面
判断refer可以有点效果,虽然refer可以伪造。
综合起来解决。
判断 HTTP Header,
把 form 设置成 post 方式并判断 method,
设置 hidden 字段,等等。

不过我不能教你太多,
不然过几天就又有人来问我,
为什么用 LWP 抓不下来你写的那个动态页面了。
如果我回答不出来,还会说我无能、Perl 无能的。
Using session
判断表单字段,包括隐藏字段, 我都试了, 感觉不是很好, 很容易伪造.  

ulmer说的用SESSION, 我觉得应该比较好, 但是问题是怎样在PHP和PERL 间传递SESSION呢? 谢谢各位!


我的表单是用PHP写, FORM ACTION里用PERL 对提交的表单进行处理, PHP与PHP间传SESSION或PERL间传SESSION应该没有问题, 但是怎样在PHP与PERL间传SESSION呢?

Using Perl CPAN Module: PHP::session
See more details:
http://search.cpan.org/~miyagawa/PHP-Session-0.26/lib/PHP/Session.pm