PHP包含一个端点不安全的表单


php contains a form with insecure endpoint

我在这里遇到了一个问题,我正在为我自己的大学网站工作,但是我遇到了一个问题,我找不到任何地方的答案。我有一个产品页面和一个php模块,处理添加项目到购物车会话数据,但我得到这个错误:

https://saturn.csit.rmit.edu.au/~s3482230/wp/a2/product.php?productid=P001'是通过安全连接加载的,但包含一个针对不安全端点的表单'module: add to cart.php'。该端点应通过安全连接提供。(这个网站是托管在学校的服务器上的,没有登录你不能访问,所以你不能遗憾地看到它。)

,但形式是这样写的…

<form class=productqty action="module: add to cart.php" method="post">
    <p id=price>$<span id=pricedouble>0</span></p>
    <input name="price" id=prodprice type="hidden" value="20.00" required/>
    <input name="product code" type="hidden" value="P001" required/>
    <input name="quantity" id=qtyinput maxlength="3" type="text" value="1" 
    onblur='checkButtons()' onkeypress='checkIfNumber(event)' required/>
    <button id=negativebutton type="button" onclick="minusOne()" disabled> - </button>
    <button id=positivebutton type="button" onclick="plusOne()"> + </button>
    <input type="submit" value="Purchase" />
</form>

,处理添加到会话和购物车的模块代码是:(unfinished)

<?php
session_start();
if (isset($_SESSION['user'])) {
}
$_SESSION['cart'][$_POST['product code']]['qty'] = $_POST['quantity'];
$_SESSION['cart'][$_POST['product code']]['price'] = $_POST['price'];

header("Location: ".$_SESSION["redirect_url"]);
?>

注意:redirect_url在登录和关闭后被用来重定向,并在这些模块上工作,所以它应该在这里工作,也尝试了注释重定向,但不改变警告,我希望这是足够的信息。

修复!

结果是,你不能在action="xxxx"方法中使用很多特定的字符,我不得不将':'替换为'%3A',将空格替换为'%20'

所以我使用了action="module%3A%20add%20to%20cart.php",效果很好。