只是测试一些ajax调用,并确定如果我像这样使用ajax调用,它是否容易受到JS攻击。
选项1
$.ajax({
url: 'https://example.com/project_folder/user',
type: "POST",
或
选项2
$.ajax({
url: '/project_folder/user',
type: "POST",
它们之间有什么区别,如果我使用完整路径而不是仅路径,我有什么安全漏洞。
顺便说一句,我建议使用选项 2,从安全角度来看,它更方便。
我建议开发商使用选项2,除了还需要强力消毒。
选项 1 使用绝对 URL (https://example.com/project_folder/user) 进行 AJAX 调用,将请求定向到特定域和路径,无论当前页面的 URL 是什么。这有利于跨域通信。
另一方面,选项 2 使用相对 URL (/project_folder/user),使 AJAX 请求相对于当前页面的 URL。这种方法适应性更强,尤其是在同一域内,因为它会自动调整以适应域或路径的变化。
选项 1 应考虑 CORS(跨源资源共享),因为它可能会导致向不同域发出请求时受到限制。此外,使用选项 1 硬编码 URL 会降低灵活性和维护难度。
从安全角度来看,选项 2 在同一域中通常是首选,因为它降低了向其他域发出意外请求的风险,简化了 URL 管理,并且通过限制对同一来源的请求来遵守安全最佳实践,除非另有明确要求。
建议清理用于构造 URL 或表单参数的用户输入,以增强安全措施。