这是为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"]; ?>.
我只需要帮助修复我的代码并了解如何正确显示它。
谢谢。
答案 0 :(得分:1)
<p><a href="cgi-bin/spanish.pl?english=Hello&spanish=Hola">Hello</a></p>
Validate. Validate. Validate.那应该是&
print "The Spanish word for ", param('english'), " is ", param('spanish') "\n";
如果将其输出到HTML文档中,那么您将拥有XSS problem。
当您点击英文单词的链接时,只需下载perl文件。
你需要:
另外,在ASP和PHP中进行相同的精确分配时,它应该是简单还是相似?
配置完成后,ASP和PHP会对你想要做什么做出一些假设(例如“你想要输出一个HTML文档”),而这些假设是你从头开始编写CGI时得不到的(你必须明确发送内容)例如,-Type标题。)
The Spanish word for <?php echo $_POST["english"]; ?> is <?php echo $_POST["spanish"]; ?>.
链接发出GET请求,而不是POST请求。