***对于发现此问题的任何人,请将所提及的答案视为重复。我还发现下面的评论很有用,这篇文章非常有帮助。
我已将更正后的代码包含在" new_add.php" ***中
我正在向mysql数据库提交数据并提出以下问题:以下是否安全?基本上我使用带有标签的标签,用于'类型'。我担心这里的sql和html注入,但在环顾四周之后它似乎并没有被覆盖在任何地方吗?
期待任何建议!谢谢!
输入表格:
< form method =" POST"行动=" add.php">
< label>产品类型:< / label>
< input id =" textbox"类型="文本" />
< select id =" select"名称="类型">
< option class =" 1"值="">将< /选项>
< option class =" 2"值=" B"> b将/选项>
< option class =" 3"值=" C">℃下/选项>
< option class =" 4"值=" d"> d< /选项>
< option class =" 5"值=" E"> e控制/选项>
< /选择>
< label>说明:< / label>< input type =" text"名称="描述">
< label> Price:< / label>< input type =" text"名称="价格">
< label> Expires:< / label>< input type =" text"名称="期满">
<输入类型="提交"名称="添加">
< /形式>
和我的add.php
< PHP
包括(' dbconnect.php&#39);
$ type = filter_var($ _ POST [' type'],FILTER_SANITIZE_STRING);
$ description = filter_var($ _ POST [' description'],FILTER_SANITIZE_STRING);
$ price = filter_var($ _ POST [' price'],FILTER_SANITIZE_FLOAT);
$ expiry = filter_var($ _ POST [' expiry'],FILTER_SANITIZE_STRING);
mysqli_query($ mysqli,"插入`merchant_products`(类型,描述,价格,到期)值(' $ type',' $ description',' $价'' $到期')&#34);
报头('位置:test2.php&#39);
?>
正确 - 输入:
< form method =" POST"行动=" add.php">
< label>产品类型:< / label>
< input id =" textbox"类型="文本" />
< select id =" select"名称="类型">
< option class =" 1"值="">将< /选项>
< option class =" 2"值=" B"> b将/选项>
< option class =" 3"值=" C">℃下/选项>
< option class =" 4"值=" d"> d< /选项>
< option class =" 5"值=" E"> e控制/选项>
< /选择>
< a>说明:< / a><输入类型="文字"名称="描述">
< a>价格:< / a><输入类型="文字"名称="价格">
< a>到期:< / a><输入类型="文字"名称="期满">
<输入类型="提交"名称="添加">
< /形式>
new_add.php:
< PHP
包括(' dbconnect.php&#39);
$ add = $ mysqli-> prepare(" INSERT INTO merchant_products(类型,描述,价格,到期)VALUES(?,?,?,?)");
$ add-> bind_param(" ssds",$ _POST ['类型'],$ _POST ['描述'],$ _POST ['价格& #39;],$ _POST ['到期']);
$添加 - >执行();
$添加 - >关闭();
报头('位置:test2.php&#39);