我在已创建的Web应用程序上具有以下URL(当前在本地运行):
http://localhost:8080/trustsurvey/questionView.php?question=1
问题= 1来自GET参数,该参数每次用户单击“下一步”按钮时都会递增。
$questionNumber = $_GET['question'];
在
?
之后在URL中隐藏或编码参数的最佳建议方法是什么,从而使用户难以操纵URL和手动更改参数? 最佳答案
您可以使用session variables代替URL参数。
像这样的东西(不是“完整”的代码,缺少某些isset
检查等):
QuestionView.php
<?php
session_start();
$questionNumber = $_SESSION['questionNumber'] = $_SESSION['questionNumber'] ?? 1;
?>
<form method="post" action="answer.php">
<!-- Display question $questionNumber here -->
</form>
answer.php
<?php
session_start();
$questionNumber = $_SESSION['questionNumber'];
if (answerOk()) { // This checks answer with $_POST data
$_SESSION['questionNumber']++;
header('Location: questionView.php');
die;
}