【发布时间】:2015-07-26 11:43:43
【问题描述】:
我有一个 HTML 表单,它被提交到 PHP 页面进行处理。
我想在处理页面上确认表单是从我的网站而不是其他人的网站提交的。
如何确保请求只能来自我服务的页面?
【问题讨论】:
我有一个 HTML 表单,它被提交到 PHP 页面进行处理。
我想在处理页面上确认表单是从我的网站而不是其他人的网站提交的。
如何确保请求只能来自我服务的页面?
【问题讨论】:
也许这样的事情可以做到。
<?php
//Make sure your nonce is a number used once, or Random and generated per request.
$_SESSION['formhash'] = md5('any value to be hashed');
?>
<form> <!-- Form to be posted -->
<input type="hidden" name="hashed" id="hashed" value="<?php echo $_SESSION['formhash']; ?>" />
</form>
<!-- After Form is Posted, Probably the another page -->
<?php
if(isset($_POST["hashed"])){
if($_POST["hashed"]==$_SESSION['formhash']){
//Process your Form
}else{
//Do SOmething Else
}
}
?>
您也可以阅读本文以获取更多信息Using a nonce as a security solution in PHP
【讨论】: