Perl,ASP和PHP简单分配显示西班牙语到英语等价物

时间:2011-04-29 16:10:59

标签: php perl

这是为5个英文单词设置链接标签的简单任务:Hello,Good-bye,Love,Cat和Dog。每个href都通过链接到Spanish.pl文件并传递每个单词的西班牙语等价物来完成:Hola,Adios,Amor,Gato和Perro。

以下是spanish.html中的代码:

<p><a href="cgi-bin/spanish.pl?english=Hello&spanish=Hola">Hello</a></p>
<p><a href="cgi-bin/spanish.pl?english=Good-bye&spanish=Adios">Good-bye</a></p>
<p><a href="cgi-bin/spanish.pl?english=Love&spanish=Amor">Love</a></p>
<p><a href="cgi-bin/spanish.pl?english=Cat&spanish=Gato">Cat</a></p>
<p><a href="cgi-bin/spanish.pl?english=Dog&spanish=Perro">Dog</a></p>

这是来自spanish.pl:

print "The Spanish word for ", param('english'), " is ", param('spanish') "\n";

我对Perl还不是很熟悉,但我不知道该怎么办。当您单击英语单词的链接时,它只会下载perl文件。如何让它只在浏览器中显示西班牙语单词?

另外,在ASP和PHP中进行相同的精确分配时,它应该是简单还是相似?我不确定它们应该是什么样的......

我在我的php文件中有这个,但不确定这是否正确:

The Spanish word for <?php echo $_POST["english"]; ?> is <?php echo $_POST["spanish"]; ?>.

我只需要帮助修复我的代码并了解如何正确显示它。

谢谢。

1 个答案:

答案 0 :(得分:1)

  

<p><a href="cgi-bin/spanish.pl?english=Hello&spanish=Hola">Hello</a></p>

Validate. Validate. Validate.那应该是&amp;

  

print "The Spanish word for ", param('english'), " is ", param('spanish') "\n";

如果将其输出到HTML文档中,那么您将拥有XSS problem

  

当您点击英文单词的链接时,只需下载perl文件。

你需要:

  1. 选择用于在Web服务器和Perl程序之间进行通信的API。
    • CGI是最简单的选择,但是存在严重的效率问题。
    • PSGI是现代方法。
  2. 确保Perl程序符合该API
  3. 配置Web服务器以执行给定URL的Perl程序(具体取决于您使用的Web服务器)
  4.   

    另外,在ASP和PHP中进行相同的精确分配时,它应该是简单还是相似?

    配置完成后,ASP和PHP会对你想要做什么做出一些假设(例如“你想要输出一个HTML文档”),而这些假设是你从头开始编写CGI时得不到的(你必须明确发送内容)例如,-Type标题。)

      

    The Spanish word for <?php echo $_POST["english"]; ?> is <?php echo $_POST["spanish"]; ?>.

    链接发出GET请求,而不是POST请求。