gpt4 book ai didi

php - 使用 POST 方法隐藏 URL 参数

转载 作者:行者123 更新时间:2023-11-29 01:45:31 24 4
gpt4 key购买 nike

我知道我可以使用 POST 方法为 URL 参数根据特定变量显示数据,我知道如何使用 GET 方法 - 但我被告知可以使用 POST 方法隐藏URL 的一部分是这样的。

/data.php?parameter=1234

这两种方法在 URL 参数方面的实际区别是什么?

下面是一些根据特定链接的id从数据库中获取数据的代码

    <?php
//This includes the variables, adjusted within the 'config.php file' and the functions from the 'functions.php' - the config variables are adjusted prior to anything else.
require('configs/config.php');
require('configs/functions.php');

//This is the actual interaction with the database, according to the id.
$query = mysql_query("SELECT * FROM table WHERE id=" .$_GET['id'] . ";") or die("An error has occurred");

//This re-directs to an error page the user preventing them from viewing the page if there are no rows with data equal to the query.
if( mysql_num_rows($query) < 1 )
{
header('Location: 404.php');
exit;
}

//Here each cell in the database is fetched and assigned a variable.
while($row = mysql_fetch_array($query))
{
$id = $row['id'];
$title = $row['title'];
$month = $row['month'];
$day = $row['day'];
$photo = $row['photo'];
$text = $row['text'];
}
?>

在一个单独的页面上,我根据 ID 生成指向 data.php 文件的链接,如下所示:

<a href="post.php?id=<?php echo $content['id']; ?>"><?php echo $content['title']; ?></a>

忘记了通过上述代码可能发生的潜在 SQL 注入(inject),我将如何使用 POST 方法来隐藏 URL 参数,或者至少不像这样显示它们:

http://example.com/data.php?id=1

最佳答案

为了使用 POST,您需要使用 <form>标记,并且根据您提取这些 URL 的方式,使用 javascript 可以更容易地提供帮助。这是一个基本示例:

<form method="post" action="data.php">
<input type="hidden" name="parameter" value="1234" />
<input type="submit" value="Go" />
</form>

Go 按钮将发布表单数据,现在在 data.php 中您将能够从 $_POST['parameter'] 中检索值.请注意,使用 POST 时,您可能希望重定向 (HTTP 302) 回页面,以便当用户点击后退按钮时,浏览器不会提示重新提交表单。

使用 javascript,您可以设置 parameter在发布表单之前输入不同的值。

关于php - 使用 POST 方法隐藏 URL 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7906329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com