我启动了一个带有在线承诺组件的网站,它不断被使用 html/javascript 的人入侵/利用,从而在签名页面上发生疯狂的事情。我不知道如何从字段中编写非 alpha 脚本以防止这种情况发生。
下面是我用来在数据库中记录表单数据的代码。关于如何实现 preg_replace 函数的任何建议(如果这是最好的)?此外,这是防止漏洞利用的最佳位置,还是有其他更理想的地方?
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO signature (FirstName, LastName, Email, State, Country, `TSDate`, IP) VALUES (%s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString(($_POST['FirstName']), "text"),
GetSQLValueString(($_POST['LastName']), "text"),
GetSQLValueString(($_POST['Email']), "text"),
GetSQLValueString(($_POST['State']), "text"),
GetSQLValueString($_POST['Country'], "text"),
GetSQLValueString($_POST['Date'], "date"),
GetSQLValueString($_POST['IP'], "text"));
mysql_select_db($database_petitionscript, $petitionscript);
$Result1 = mysql_query($insertSQL, $petitionscript) or die(mysql_error());
}