检查HTTP Post上的用户身份验证

时间:2015-05-20 09:25:23

标签: php http post

如果我在index.php上有一个表单,它向process_form.php发送一个post请求,我该如何检查用户权限?

例如,index.php可能是仅为网站管理员显示的表单,此表单可能是例如发布新闻文章。

有什么可以阻止任何人使用postman手动制作帖子请求并将其发送到process_form.php?

我目前正在使用PHP会话对用户进行身份验证,因此我应该发送类似PHP会话ID的内容以及表单并在process_form.php文件中检查吗?

index.php的例子

<form class="form" id="text_form" action="process_form.php" method="post">
    <input type="text" id="text_field" name="text_field" class="form-control" value=""/>
    <div class="row">
        <div class="col-lg-6"><button id="save" class="btn btn-primary btn-sm btn-block"><span class="glyphicon glyphicon-ok"></span> Save</button></div>
        <div class="col-lg-6"><button class="btn btn-default btn-sm btn-block"><span class="glyphicon glyphicon-remove"></span> Cancel</button></div>
    </div>
</form>

process_form.php示例:

<?php
//Post array gets inserted to Database within this file
//Before inserting to database how can I check who submitted this form?
?>

2 个答案:

答案 0 :(得分:0)

<yourtype>RealmProxy执行:

process_form.php

所以你必须在会话中存储管理状态并检查它。

答案 1 :(得分:0)

登录后,创建会话变量为“user_type = admin”,如果是管理员,则将其设置为“normal”

<强> process_form.php

<?php
// Start the session
session_start();

// Check session variables
if ( (isset($_SESSION["user_type"])) && ($_SESSION["user_type"] == "admin"))
{
   // Do your operation
}
else
{
    echo "Not allowed to post"
}
?>