是否有一个catchall函数适用于清理SQL注入和XSS攻击的用户输入,同时仍允许某些类型的html标记?
我正在尝试为我网站上的表单添加一些安全性.其中一种形式使用AJAX,另一种形式是直接的"联系我们"形式.我正在尝试添加CSRF令牌.我遇到的问题是令牌只在某些时候出现在HTML"值"中.剩下的时间,值是空的.这是我在AJAX表单上使用的代码:
PHP:
if (!isset($_SESSION)) {
session_start();
$_SESSION['formStarted'] = true;
}
if (!isset($_SESSION['token']))
{$token = md5(uniqid(rand(), TRUE));
$_SESSION['token'] = $token;
}
Run Code Online (Sandbox Code Playgroud)
HTML
<form>
//...
<input type="hidden" name="token" value="<?php echo $token; ?>" />
//...
</form>
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我正在创建一个接受ajax调用(jquery)的应用程序,并将经过验证的用户返回一个条目令牌到网站.
比如说ajax叫做checkAuth.php,这个目录里还有其他所有的php文件.通过更改JS来验证另一个文件,例如checkMail.php,例如:
var xmlRequest = $.ajax({
url: "checkAuth.php",
processData: false,
data: xmlDocument
});
Run Code Online (Sandbox Code Playgroud)
将网址更改为checkMail.php并在网站中创建漏洞?
var xmlRequest = $.ajax({
url: "checkMail.php",
processData: false,
data: xmlDocument
});
Run Code Online (Sandbox Code Playgroud)
虽然结果将返回一个不同的对象,但这样做会创建一个"敞开的大门",也许恶意用户会继续发送请求以获取访问权限?我知道用户必须知道php文件存在但是我不确定如何在保持我的目录结构的同时安全地处理它.请注意这不是我的实际代码,我不能用这些其他帖子澄清答案,或者我没有正确理解这一点.
编辑:此外 - 这是否意味着任何使用jquery的网站都能够从服务器请求任何文件并创建漏洞?