gpt4 book ai didi

javascript - PHP 函数仅在未直接访问时运行

转载 作者:行者123 更新时间:2023-11-30 17:36:30 25 4
gpt4 key购买 nike

目前,只有当 GET 请求被发送到包含它的文件时,我才运行 PHP 函数。我通过 JavaScript 将这些请求发送到 PHP 文件。此外,我希望它仅在 get 请求通过 JavaScript 文件发送且未直接访问时运行该函数。

例如:

run.js

function runfun(what, data) {
$.get("files/functions.php",{
run:'true',
what:what,
data:data
},
function(data) {
}
}

functions.php

if (isset($_GET['run']) && isset($_GET['what']) && isset($_GET['data'])) {
runstuff($_GET['what'], $_GET['data']); // I do NOT want this to run if
// the functions.php file is accessed directly and if the GET
// variables are set on the page itself
}

最佳答案

我认为没有真正可靠的方法来实现这一点,但是,您可以使用类似下面的方法来检测 AJAX 请求:

if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
/* special ajax here */
die($content);
}

请注意这可能是欺骗性的。

代码取自:http://davidwalsh.name/detect-ajax

此外,正如@FDL 在他们的评论中指出的那样,您可以使用随机数。

关于javascript - PHP 函数仅在未直接访问时运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21940781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com