Php 阻止其他网站向我的服务器发送请求
考虑以下web应用程序:前端包含一个按钮和一些滑块。按下按钮时,将向服务器发送请求以及滑块值。服务器调用python脚本并根据滑块值生成一些内容,然后内容显示在前端Php 阻止其他网站向我的服务器发送请求,php,html,http,server,Php,Html,Http,Server,考虑以下web应用程序:前端包含一个按钮和一些滑块。按下按钮时,将向服务器发送请求以及滑块值。服务器调用python脚本并根据滑块值生成一些内容,然后内容显示在前端 如何防止其他人实施类似的应用程序,向同一服务器发送请求以生成内容?您正在寻找的解决方案称为。为了防止这种情况发生,您需要遵循几个基本步骤 生成唯一的令牌(类似于散列) 将此令牌发送到前端,并在请求URL中使用此哈希(可能在请求负载或查询参数中) 在服务器上收到请求后,验证哈希 如果散列有效,则继续操作,并作为响应生成一个新的散列(将
如何防止其他人实施类似的应用程序,向同一服务器发送请求以生成内容?您正在寻找的解决方案称为。为了防止这种情况发生,您需要遵循几个基本步骤
<?php
// This will check the Origin header
if($_SERVER['HTTP_ORIGIN'] == "http://yoursite.com") {
header('Access-Control-Allow-Origin: http://yoursite.com');
// your custom logic to return the slide content
} else {
// return a 404 error
}
我想您可能需要的是一个CSRF令牌。到目前为止您尝试了什么?为什么不使用某种身份验证?我读过关于CSRF的文章,但据我所知,它们用于不同的目的,但也许我错了,这是否会阻止某人复制前端代码并在另一个网站上创建相同的服务?是的,当然,有两个条件,即。,您的哈希/令牌生成和验证系统不应该公开,并且实现应该足够安全,以至于没有人能够猜到哈希。但这可能取决于前端与服务器的通信方式?是基于纯API调用/响应还是后端发送HTML(视图)响应?