jjzjj

php - 通过 Yii2 中的链接使用 AJAX 提交时的 CSRF 问题

我正在使用Yii2并且一直在使用通过AJAX执行POST的链接来检索一些数据并且它一直工作正常;但是我注意到,如果我从页面中删除一个表单,它就不再有效,并且出于某种原因不会在标题中发送CSRFtoken。我在页面上还有几个隐藏表单,它们在两种情况下都存在。下面是两种情况的总结:工作情况:页面上的所有CSRF都是相同-名为csrf-token的meta标记,页面上的主要表单以及所有隐藏的表单,它们都使用相同的CSRFtoken,这与请求的header中发送的token相同。...现在我更改场景以便生成非工作版本。不工作的情况:在这种情况下页面上没有主窗体。名为csrf-token的met

javascript - 使用 CSRF 保护同时发出多个 AJAX 请求

大家好。我的Web应用程序基于异步请求。计时器小部件正在运行并通过AJAX每秒更新一次它的状态(是的,这是必要的)。我用每个AJAX发送我的CSRFtoken:project_data.append(csrf_name_key,csrf_name_value);project_data.append(csrf_value_key,csrf_value_value);作为回应,我更新了全局变量:functionsetCSRF(response){csrf_name_key=response.nameKey;csrf_name_value=response.name;csrf_value_

php - 我可以在 CakePHP 1.3 中使用动态创建的表单字段和安全组件吗?

使用CakePHP1.3,我有一个(工作)表单,它动态创建了表单字段(通过Javascript)。一切都很好,通过saveAll()保存了多个模型,而且非常漂亮。但是,每当我启用安全组件(希望获得一些自动魔术CSRF保护)时,我都会遇到404黑洞。我知道这可能是(很可能是!)由动态创建的表单字段引起的,如文档中所述。有没有办法让他们一起玩得很好? 最佳答案 你不能一边吃蛋糕一边吃。(茶青!)CSRF保护恰恰意味着只允许提交特定的表单字段列表。此列表在创建表单时确定并固定。您不能受到CSRF保护和动态更改表单中的字段。有两种解决方法:

php - CSRF token 和 XSS 漏洞

假设我们在表单中使用了CSRFtoken,但碰巧我们的网站上存在一个未被注意到的XSS漏洞。据我所知,CSRFtoken保护在这种情况下完全无效,因为攻击者可以通过XSS使用XMLHttpRequest检索它。在这种情况下,有没有一种方法可以让CSRF保护在攻击中幸存下来,或者我们的网站是否应该在执行任何CSRF之王之前首先拥有安全的反XSS保护?在每次页面请求时设置一个新token而不是在登录时设置token是否可以解决这个问题?这带来了一次打开更多表单的问题,我不喜欢它。 最佳答案 您的站点应该关闭您发现的所有XSS漏洞,否则C

php - 设置配置项 (csrf) 在 Codeigniter 中不起作用

我只想在我的几个Controller中打开csrf保护,所以我有function__construct(){parent::__construct();$this->load->library('form_validation');$this->load->library('tank_auth');$this->load->helper(array('form','url'));$this->load->model('user_model','',true);$this->config->set_item('csrf_protection',TRUE);}但它似乎不起作用,尽管当我在页

java - Web 应用程序中的 CSRF 保护

我的应用程序具有由apache模块提供的CSRF保护。我的应用程序包含几个允许上传一些文件的页面,如下所示:当我们从httpd-2.2.3更新我们的apache版本时,所有的东西都工作正常到httpd-2.2.15.我用谷歌搜索了一段时间,发现问题可能与我表单中的multipart/form-data参数有关。在这种情况下,发送的表格不安全。我还发现spring可以通过MultipartFilter处理上面的内容来自spring文档http://docs.spring.io/spring-security/site/docs/3.2.0.CI-SNAPSHOT/reference/ht

java - 使用 Spring MVC 和 Spring Security 的登录表单中的 CSRF token 为空

${_csrf.parameterName}和${_csrf.token}在登录表单中变空。我正在使用Spring4.1.3和SpringSecurity3.2.5所有的配置都正确,但我还是得到了作为 最佳答案 我找到了答案,我将web.xml中的安全过滤器标记放在所有其他过滤器的顶部并且它起作用了。 关于java-使用SpringMVC和SpringSecurity的登录表单中的CSRFtoken为空,我们在StackOverflow上找到一个类似的问题:

java - 选择性使用 Spring Security 的 CSRF 过滤器

免责声明:我的问题有点类似于thisquestion和thisquestion,但我已经尝试了这些线程中建议的所有答案,并且已经花了几天时间来解决这个问题。我在我现有的应用程序(仅限JSP、Servlet)中引入了SpringSecurity3.2.6,并且我正在使用Java配置。我的应用程序将同时被浏览器和非浏览器客户端使用。我希望所有对URL的浏览器请求(即/webpages/webVersion/和/webpages/webVersion2/)都启用CSRF,而所有其他请求都禁用CSRF。非浏览器客户端永远不会访问以上两个URL,而浏览器应用程序也可能访问禁用CSRF的URL。我

java - 由于缺少 CSRF 'preserved state',Spring-Oauth2 访问 token 请求从未成功

过去几天我一直在努力实现springboot/springsecurity/和java配置与spring-security-oauth2一起工作。我已经设法解决了大部分困难,但我对现在出了什么问题感到困惑。我正在成功完成以下步骤:将用户发送给提供商以授权应用程序代表他们行事提示用户根据安全性登录提供商用户授权应用,重定向url将它们连同查询字符串中的?code=asdfa&state=asdfasf以原始url发送回客户端应用在这一点上,我相信使用AuthorizationCodeResourceDetails的任何东西都应该交换授权代码和客户端应用凭据以获取访问token。这是进程失

java - Spring 安全中每个请求的不同 csrf token

我正在使用在我的springsecurityxml文件中标记一个web项目。并以一种形式发送csrftoken:但是在通过BurpSuite拦截请求时,我在每个请求上获得相同的csrftoken,直到session持续存在。在springsecurity中,有什么方法可以让每个请求发送与每个session不同的csrftoken。我正在使用3.2.4spring安全jar。 最佳答案 CSRFtoken的默认持续时间是session持续时间。CSRFtoken存储在HTTPsession中,因此是在每个session的基础上生成的。