猿问

仅从我的服务器(地址)接受 Jquery 帖子

我的网站有一个通过 jquery 的发布请求。我不希望其他任何人向此帖子发送来自其他站点的请求并接收信息。


是否可以仅从我的站点通过 jquery + php 允许 POST 请求?


也许以某种方式通过Access-Control-Allow-Origin?


更多:一些聪明人会在他的网站上复制我的 POST 请求,并会收到他需要的所有信息。我希望只有当 POST 请求直接从我的网站发送时才会得到答案。


jquery 帖子示例:


$("#get").click(function () {

    jQuery.ajax({

        'type': "POST",

        'dataType': "json",

        'url': "https://example.com/get.php",

        'data': { id: "123", text: "test text" },

        'success': function(response) {

            //var json = response;

            //alert(response);

        }

    });

});

get.php 示例:


<?php

    if(isset($_POST["id"]) && isset($_POST["text"])) {

        $id = $_POST["id"];

        $text = $_POST["text"];

        // If sent not from example.com

        // sql query and echo user information


        // else if sent from another domain ---> DIE ();

    }

?>


慕姐4208626
浏览 141回答 1
1回答

翻过高山走不出你

我能想到的方法有几种。生成某种密钥并将其与请求一起发送以检查它是否有效。或将其存储在会话中。在.htaccess 中限制 POST 请求仅发送到您的 IP 地址。$_SERVER['HTTP_REFERER']与您自己的域进行比较。
随时随地看视频慕课网APP
我要回答