AJAX 调用的安全问题 - 使用完整路径或仅端点

问题描述 投票:0回答:1

只是测试一些ajax调用,并确定如果我像这样使用ajax调用,它是否容易受到JS攻击。

选项1

$.ajax({
    url: 'https://example.com/project_folder/user',
    type: "POST",

选项2

$.ajax({
    url: '/project_folder/user',
    type: "POST",

它们之间有什么区别,如果我使用完整路径而不是仅路径,我有什么安全漏洞。

顺便说一句,我建议使用选项 2,从安全角度来看,它更方便。

我建议开发商使用选项2,除了还需要强力消毒。

ajax security web websecurity
1个回答
0
投票

选项 1 使用绝对 URL (https://example.com/project_folder/user) 进行 AJAX 调用,将请求定向到特定域和路径,无论当前页面的 URL 是什么。这有利于跨域通信。

另一方面,选项 2 使用相对 URL (/project_folder/user),使 AJAX 请求相对于当前页面的 URL。这种方法适应性更强,尤其是在同一域内,因为它会自动调整以适应域或路径的变化。

选项 1 应考虑 CORS(跨源资源共享),因为它可能会导致向不同域发出请求时受到限制。此外,使用选项 1 硬编码 URL 会降低灵活性和维护难度。

从安全角度来看,选项 2 在同一域中通常是首选,因为它降低了向其他域发出意外请求的风险,简化了 URL 管理,并且通过限制对同一来源的请求来遵守安全最佳实践,除非另有明确要求。

建议清理用于构造 URL 或表单参数的用户输入,以增强安全措施。

© www.soinside.com 2019 - 2024. All rights reserved.