GVKun编程网logo

未定义的索引HTTP_HOST即使被选中(未定义的索引是什么意思)

27

在这里,我们将给大家分享关于未定义的索引HTTP_HOST即使被选中的知识,让您更了解未定义的索引是什么意思的本质,同时也会涉及到如何更有效地AngularJS$http.post(..)–错误:$h

在这里,我们将给大家分享关于未定义的索引HTTP_HOST即使被选中的知识,让您更了解未定义的索引是什么意思的本质,同时也会涉及到如何更有效地AngularJS $http.post(..) – 错误:$http未定义、asp Http_Referer,Server_Name和Http_Host、http_host php_self、HTTP_HOST有多可靠?的内容。

本文目录一览:

未定义的索引HTTP_HOST即使被选中(未定义的索引是什么意思)

未定义的索引HTTP_HOST即使被选中(未定义的索引是什么意思)

代码如下:

if (isset($_SERVER[''HTTP_HOST'']) === TRUE) { $host = $_SERVER[''HTTP_HOST'']; }

如何在if语句内的行上获取“Undefined index HTTP_HOST”? 我的意思是,索引设置在使用之前被检查。

为什么HTTP_HOST有时候不能设置?

Apache不会自动执行root中的index.PHP脚本

Indy“无法加载SSL库”与Delphi 2007 / Apache

mod_rewrite的PHP的MysqL

为什么mod_wsgi在Windows上不支持守护进程模式?

如何在运行Apache2的单个虚拟主机上托pipe多个MVC3站点?

安装Apache Airflow后出错

Apache Solr的java教程

有一个名为''apache2''的进程正在运行

我如何弄清楚Apache正在运行的用户和组?

为什么Apache的RewriteRule会显示本地path?

你在使用PHP-CLI吗?

在浏览器上工作的HTTP_HOST。

如果您在浏览器上运行,则必须始终设置HTTP_HOST …然后无需检查…简单地说,

$host = $_SERVER[''HTTP_HOST''];

足够

我通常会忽略=== TRUE ,因为在这里不需要,因为isset()返回一个布尔值,但是不应该阻止你的代码工作。

if语句之前 ,我还将$ host设置为合理的默认值(取决于您的应用程序)。 我有一个通用的规则,不要在条件中引入一个新的变量,如果它将在稍后被引用。

$host = FALSE; // or $host = ''''; etc. depending on how you''ll use it later. if (isset($_SERVER[''HTTP_HOST''])) { $host = $_SERVER[''HTTP_HOST'']; }

总结

以上是小编为你收集整理的未定义的索引HTTP_HOST即使被选中全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

AngularJS $http.post(..) – 错误:$http未定义

AngularJS $http.post(..) – 错误:$http未定义

我第一次尝试AngularJS.当使用$http.post(“url”,数据)功能时,我得到一个错误:$http没有定义控制台消息.

在我的HTML页面的顶部,我包括所有其他JS导入后的AngularJS.

我还包括其他JavaScript库由于小部件依赖关系等.我的脚本导入部分如下所示:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>
<script src="http://www.trirand.com/blog/jqgrid/js/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="http://www.trirand.com/blog/jqgrid/js/jquery.jqgrid.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.0/jquery-ui.min.js"></script>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js"></script>

我有一个控制器,我用来发送一些数据到服务器:

function FormCtrl($scope) {
  $scope.sendData = function(){
        var data = "firstName=" + $scope.firstName + "&" +
            "lastName=" + $scope.lastName + "&" +
            "address=" + $scope.address + "&" +
            "postcode=" + $scope.postcode;

        $http.post("/data/person/put",data);
     };
}

sendData函数附加到一个按钮.所有的工作正常,直到调用$http.post(…),此时控制台输出错误.

完整的错误列表是:

Error: $http is not defined
$scope.sendData@http://localhost:8080/angularjs/:96
Mc/x/<@https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js:71
ec[c]</</</<@https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js:142
e.prototype.$eval@https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js:87
e.prototype.$apply@https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js:87
ec[c]</</<@https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js:142
c.event.handle@http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js:63
c.event.add/o@http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js:57

https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js
Line 61

我需要做别的事情来配置AngularJS才能使用$http.post函数吗?

我从文件的“AngularJS快捷方式”部分直接提取了这些用法:http://docs.angularjs.org/api/ng.$http

谁能帮忙?

谢谢
亚当

函数FormCtrl($scope){应该是函数FormCtrl($scope,$http){.

您需要注入控制器所需的所有服务,在这种情况下,您使用$scope和$http服务,但是您只注入了导致错误的$scope.

例如:

function FormCtrl($scope,$http) {
    ....
}
FormCtrl.$inject = ['$scope','$http'];

您可以阅读关于注射并发症的注意事项,细化here,请参阅“Minifying注意事项”

asp Http_Referer,Server_Name和Http_Host

asp Http_Referer,Server_Name和Http_Host

刚才运行了一段代码,来查看Request.ServerVariables里面有多少值,看了一下,共50个!
代码<%=Request.ServerVariables.count%>
以前感觉Request.ServerVariables里的值很多,现在看看还是那么多,不过今天谈其中的一个值----HTTP_Referer
首先,我们先知道HTTP_Referer最常用的应用就是能够防止外部提交。

下列情况是从浏览器的地址栏正常取得Request.ServerVariables("HTTP_REFERER"):
1) 直接用<a href="">
2) 用Submit或<input type="image">提交的表单(POST或GET)
3) 使用JAvaScript提交的表单(POST或GET)

下面我们再看看Request.ServerVariables("HTTP_REFERER")不能正常取值的情况:
1) 从收藏夹链接
2) 单击主页或自定义的地址
3) 在浏览器中直接输地址
4) 使用JavaScript的Location.href或者是Location.replace()
5) <%Response.Redirect%>
6) <%Response.AddHeader%>或者是<mete http-equiv="refresh">转向
7) 用XML加载地址

显然,Request.ServerVariables("HTTP_REFERER")在多数情况下是不能正常工作的。关于它的具体用法我会在以后的文章中详细的介绍,同时还会介绍Request.ServerVariables("HTTP_HOST")Request.ServerVariables("SERVER_NAME")之间的区别。
敬请关注!

Request.ServerVariables里Server_Name与Http_Host之间有什么区别呢?
如果不仔细看,您应该看不出它们之间的区别。在网上搜了很多,还是也没有看懂,不过最后还是有一句话很是明白:Http_Host可以Request出非80的Server_Port,简单地说就是,Http_Host=Server_Name:Server_Port。

在以前发表过关于Http_Referer作用的文章,现在结合它来写一个ASP防止外部提交的函数

复制代码 代码如下:

function ChkPost()
dim server_v1,server_v2
chkpost=false
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
If Mid(server_v1,8,Len(server_v2))<>server_v2 then
chkpost=False
else
chkpost=True
end If
end function


Select Case
假如你希望选择多套代码之一来执行,可以使用 SELECT 语句:

复制代码 代码如下:

select case payment
case "Cash"
msgbox "You are going to pay cash"
case "Visa"
msgbox "You are going to pay with visa"
case "AmEx"
msgbox "You are going to pay with American Express"
case Else
msgbox "Unknown method of payment"
end select

以上代码的工作原理:首先,我们需要一个简单的表达式(常常是一个变量),并且这个表达式会被做一次求值运算。然后,表达式的值会与每个 case 中的值作比较,如果匹配,被匹配的 case 所对应的代码会被执行。

您可能感兴趣的文章:
  • php 伪造HTTP_REFERER页面URL来源的三种方法
  • PHP伪造来源HTTP_REFERER的方法实例详解
  • php中HTTP_REFERER函数用法实例
  • 完美兼容各大浏览器获取HTTP_REFERER方法总结
  • php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
  • php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
  • VBS伪造HTTP-REFERER的实现方法
  • 一段ASP的HTTP_REFERER判断代码
  • ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER的方法
  • ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER方法探讨
  • ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER方法探讨
  • HTTP Referer详解及Referer控制

http_host php_self

http_host php_self

<?php
echo $_SERVER[''HTTP_HOST''];
echo "<br/>";
echo $_SERVER[''PHP_SELF''];
echo"传诚科技有限公司";
?>

输出localhost
/topic_37/test/server.php传诚科技有限公司

HTTP_HOST有多可靠?

HTTP_HOST有多可靠?

我写了一个PHP脚本,我想在同一个服务器上的多个域上使用(指向相同的脚本)。 我想添加function到脚本,以便我可以随时找出脚本正在使用哪个域。 可以使用HTTP_HOST来查找域,但是,我已经读到它不可靠,特别是在旧浏览器中。 我的理解是,大多数Apache服务器使用虚拟主机,无论如何都使用相同的方法,所以如果它不是一个主机提供商的问题,它不应该是我的代码问题。

任何人都可以validation这一点,并澄清混淆?

为什么不能写入一个文件夹,即使它是一个组的成员?

PHP file_exists不能在文档根目录之外工作

如何configuration我的Web服务器以使用PluggableAuthService的域身份validation插件?

使用HTTP_HOST来标识以前的主机名称

简单.htaccessredirect:如何redirect参数?

HTTP_HOST用于请求期间由HTTP 1.1用户代理发送的Host:头。 这不是由HTTP 1.0客户端使用,所以它不会出现。 但是,现在,我不认为还有很多HTTP 1.0客户端。

编辑 :我站在更正:HTTP 1.0请求中不存在HOST标头。 见@布鲁诺的答案。 由于安全考虑,请留下我的位置

我知道的HTTP_HOST唯一的问题是安全问题,而不是兼容性问题。

安全问题源于HTTP_HOST由用户发送的事实。 如果Web服务器的设置不正确和/或错误,任意的HTTP_HOST值可能会使您的网站/脚本(请参阅这里的详细讨论)。 你的应用程序需要为此做好准备。

最好不要信任HTTP_HOST(例如,在PHP脚本中处理它之前,为它设置一个允许值的数组是一个好主意):

<?PHP $allowed_hosts = array("domain1.com","domain2.com","domain3.com"); if (!in_array(strtolower($_SERVER["HTTP_HOST"]),$allowed_hosts)) die ("UnkNown host name ". $_SERVER["HTTP_HOST"]);

佩卡的答案似乎更有趣,但似乎你想知道哪些浏览器支持http 1.1和哪些不。 在google上找到这个: http : //www.1-script.com/forums/browser-Support-for-HTTP-1-1-article34982-8.htm

从该线程中注意到:“HTTP 1.0浏览器无法访问非默认的虚拟主机。” 这意味着,据我所知,不支持http 1.1的浏览器无法访问共享服务器上的任何网站。 Thare是共享主机上的大量网站。 也可以通过使用HTTP_HOST var来以相同的方式“检测”子域(可能不知道)。

读完这些后,我真的不认为任何人现在使用的浏览器,这是不可能的,他们实际上导航网络:)

这是我在类似的问题上回答的 :

为了其他目的,我自己来看看这个:

“HTTP / 1.0被代理,一些移动客户端和IE配置为使用代理时使用,所以1.0似乎仍然占整个网络流量的不平等%…是的,有很多还有1.0个客户。“

来源(2009年7月): http : //groups.google.com/group/erlang-programming/msg/08f6b72d5156ef74

总结

以上是小编为你收集整理的HTTP_HOST有多可靠?全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

今天关于未定义的索引HTTP_HOST即使被选中未定义的索引是什么意思的讲解已经结束,谢谢您的阅读,如果想了解更多关于AngularJS $http.post(..) – 错误:$http未定义、asp Http_Referer,Server_Name和Http_Host、http_host php_self、HTTP_HOST有多可靠?的相关知识,请在本站搜索。

本文标签:

上一篇改变web根目录apache mac OS X(wamp修改根目录)

下一篇使用openshift在Apache服务器上设置身份validation