【发布时间】:2014-07-01 13:26:13
【问题描述】:
这个问题实际上总共包含 2 个问题。
我想进一步了解安全性和 $_POST、$_SESSION、... 网页安全性的处理
不久前有人告诉我不要再使用“旧的”WHILE 循环,即使我从数据库 (MYSQL) 中查询时也始终使用 foreach。
回到我的第一个问题,例如当我这样做时:
$var = $_POST['input'];
我知道我最好转义/保护一些不需要的符号,即 " 或 \ 以防万一有不良意图的人可能会做坏事。 但我看到分配不同的用法。有些人告诉我使用:
$var = filter_input(INPUT_POST, 'input', FILTER_SANITIZE_STRING);
其他人告诉我使用:
$var = mysql_real_escape_string($_POST['input']);
比别人告诉我这样做
$var = $_POST['input'];
$var = mysql_real_escape_string($var);
现在最好、最安全、最现代的方法是什么?我必须保护我的 $_SESSION 吗? 请记住,如果我使用 PDO 从我的 mysql 数据库连接、输入、选择和更新,我总是使用准备好的语句。
对于问题 2,我尝试将我以前的(有时很长)代码更改为更短的(数组)方式,并尝试使用 foreach 和/或在有或没有函数或 oop 类的情况下尽可能好。但是有人告诉我,我最好不要使用 While 而是将所有内容放在 for > foreach 循环中。为什么你不再使用一段时间了,你不再使用它有什么好处。真的也可以完全放弃吗?
提前感谢您的明确解释!
【问题讨论】:
-
以后请不要把两个不相关的问题放在一个帖子里。只需发布两个单独的问题。
-
总有人给我的帖子减分,以此为乐?你真的在阅读这两个问题时遇到问题吗?试图在论坛上保持活跃,但如果每次都发生这种情况,那么非常感谢!
-
我没有否决你的问题,但我想指出,三个人投票结束它是“太宽泛”。 (您需要 250 个代表才能看到这一点。)我的猜测是,否决票和接近票都是因为您在一篇帖子中提出了两个问题。
标签: php arrays foreach while-loop