我怀疑与PHP中的POST数据相关的SECURITY。
背景信息:
我有几个输入(文本,电子邮件,广播)和一些textarea。 EG
if($_POST)
{
$entries = htmlspecialchars("$_POST['entries']", ENT_QUOTES);
$username = htmlspecialchars("$_POST['username']", ENT_QUOTES);
$message = htmlspecialchars("$_POST['message']", ENT_QUOTES);
echo $username;
echo...
echo...
}
我正在做的是将所有值发送到* .php页面然后,我打印所有这些值 EG
@Override
public void onCreate() {
super.onCreate();
mClientServiceLoopThread = new Thread(mClientServiceLoop = new ClientServiceLoop(),
"ClientServiceLoop");
mClientServiceLoopThread.start();
try {
mClientServiceLoopThread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
我对安全性知之甚少。只用htmlspecialchars就可以了吗? 或者我是否要使用其他功能?
数据必须在* .php页面上打印回显(无MYSQL)
是的,我的疑问是关于用户可以放在每个INPUT上的错误,因为我不想将其内容仅限于文本或数字或类似内容。
感谢。
答案 0 :(得分:3)
你需要遍历数组。
$entries = array_map('htmlentities', $_POST['entries']);
$username = htmlentities($_POST['username']);
$message = array_map('htmlentities', $_POST['message']);
或包含您可以使用的ENT_QUOTES
:
$entries = array_map(function($x) {
return htmlentities($x, ENT_QUOTES);
}, $_POST['entries']);
,同样适用于$message
。