相关疑难解决方法(0)

用PHP清理用户输入的最佳方法是什么?

是否有一个catchall函数适用于清理SQL注入和XSS攻击的用户输入,同时仍允许某些类型的html标记?

php security xss user-input sql-injection

1069
推荐指数
14
解决办法
50万
查看次数

如何使用PHP正确添加CSRF令牌

我正在尝试为我网站上的表单添加一些安全性.其中一种形式使用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)

有什么建议?

php security session csrf

81
推荐指数
2
解决办法
10万
查看次数

将ajax请求更改为不同的php文件漏洞,潜在的漏洞利用澄清

我正在创建一个接受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的网站都能够从服务器请求任何文件并创建漏洞?

如何验证对PHP文件的AJAX请求?

关于Ajax Hacking的问题

Ajax安全问题

如何使用PHP和jQuery发送安全的AJAX请求

javascript php security ajax jquery

9
推荐指数
1
解决办法
160
查看次数

标签 统计

php ×3

security ×3

ajax ×1

csrf ×1

javascript ×1

jquery ×1

session ×1

sql-injection ×1

user-input ×1

xss ×1