Home  >  Article  >  Backend Development  >  有一个很难的有关问题,php获取javascript的值来判断域名来路,后期不好处理

有一个很难的有关问题,php获取javascript的值来判断域名来路,后期不好处理

WBOY
WBOYOriginal
2016-06-13 11:58:21949browse

有一个很难的问题,php获取javascript的值来判断域名来路,后期不好处理~
全部代码如下
首先你在浏览器中运行,打开控制台观察
http://localhost/test.php

跳转到test1

然后跳转到test1.php,代码
session_start();
require "./test2.php";
class A{
function __construct()
{
$b=new B();
$b->judge();
}
function judge()
{
if($_SESSION['status']==1){
return true;
}else{
return false;
}
}
function run()
{
if($this->judge()){
echo 'success';
}else{
echo 'error';
}
}
}
$a=new A();
$a->run();
?>

作用是在执行A类方法的时候先判断域名来路,是否来自localhost,是的话,输出success,不是输出error
test2.php代码
session_start();
class B{
function judge()
{
echo '';
}
}
?>

test3.php,调用ajax执行文件
session_start();
if(stristr($_POST['data'], 'localhost')){
$_SESSION['status']=1;
}else{
$_SESSION['status']='';
}
?>

------解决方案--------------------
我能问一下你处理的问题是想要做什么,还是研究这个问题?因为我没看懂你要干什么,不好意思
------解决方案--------------------
说说你想想做什么?遇到了什么问题
------解决方案--------------------
看不明白需求,
你都是PHP文件,如果要知道前一页面来源,用$_SERVER['HTTP_REFERER']就可以了,有必要这么麻烦搞JS吗
------解决方案--------------------
整个请求都是可以伪造的
这样做确实会给伪造带来困难,但代码会变得很复杂...
------解决方案--------------------
可以变通一下,用cookie/session得到用户,得不到就报错。
如果用户请求太频繁就屏蔽请求。然后用缓存实现的话性能应该还可以。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn