在任何人对安全问题发表评论之前,请不要打扰。链接点击验证和JavaScript中的PHP函数?
比方说,我有一个index.php
。
在此页面上有各种指向'home.php'的链接,但它们都具有不同的数据存储在href
属性中。例如:
链接1:'?home.php数据= 1个&国家=英国
链接2: '?home.php数据= 95 &国家=美国'
用户可以很容易地只是输入www.website.com/home.php?data=*&country=*
并填入URL中的数据以符合他们的喜好。
我在想如果我有一个函数,当点击这些链接之一时运行,这会在到达目的地之前在URL上添加一个值。 E.g:
原文链接:www.website.com/home.php?data=1&country=uk
被点击链接:www.website.com/home.php?data=1&country=uk&verify=a8c9gj113
我不能工作是如何点击链接时,实际去到目的地之前更改HTML的href
数据。
我的代码如下(HTML是在一个while循环从数据库中提取数据)
<a href='home.php?data=". $results['id'] ."&country=". $results['country'] .' onclick='return verify();'>
功能:
function verify()
{
document.getElementById("verify").href="";
return true;
}
所以在我要去的地方的功能href值原始网址(home.php?data=". $results['id'] ."&country=". $results['country'] .
)加上额外的值。我怎样才能做到这一点?
在当你从一个变量添加值或者等你只是简单地结束与报价回声一个PHP回声,然后加点,如下图所示:
echo "I am the". $whatami ."person in the world";
是否有这样的JavaScript的东西吗?当我将这个PHP URL粘贴到.href=""
的JavaScript函数中时,它只会失败,因为我正在关闭引号。
我希望人们明白我在说什么。
如果有更好的方法来做到这一点,请告诉我。
退房:http://stackoverflow.com/questions/4145531/how-to-create-and-use-nonces可能是你可以从那里 –
如果你担心用户会改变主意拿输入,然后只给他们他们被允许*改变的输入(并加载/计算下一页中的其余部分)。例如,'home.php?country = uk',然后在home.php中,通过国家代码加载数据库中的数据。 – Piskvor
另外,这本质上是一个安全问题; *不提及安全性的唯一方法是根本不回答。换句话说,是什么阻止我提出开发人员工具(截至2016年,直接构建到所有主流浏览器中),更改HREF,然后*然后*调用verify()以更改属性?没有什么能够阻止这种情况,这使得JS端验证仅对最复杂的攻击者有用。 – Piskvor