在PHP 中使用 $_SERVER["REMOTE_ADDR"] 来取得客户端的 IP 地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。要想透过代理服务器取得客户端的真实 IP 地址,就要使用 $_SERVER["HTTP_X_FORWARDED_FOR"] 来读取。
不过要注意的事,并不是每个代理服务器都能用 $_SERVER["HTTP_X_FORWARDED_FOR"] 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的 IP。
还有一点需要注意的是:如果客户端没有通过代理服务器来访问,那么用$_SERVER["HTTP_X_FORWARDED_FOR"] 取到的值将是空的。因此,如果要在程序中使用此方法,可以这样处理: 阅读全文
今天看discuz x2源码的时候,发现了一个问题,于是动手解决之
问题:安装好discuz x2后,想修改index.php中的代码,可是无论怎么修改,在浏览器里输入…/index.php,浏览器始终是跳到forum.php去,就是把index.php里的内容全部删除了,它还是跳过去,很疑惑。
分析,很可能是浏览器端的缓存导致的,可是怎么刷新也没用,关闭浏览器,重新打开也不行,于是换火狐,没能跳到forum.php,断定浏览器端的问题,去查找关于浏览器端缓存的资料,无果,于是再研究discuz代码,发现了这么一句话
- header(“HTTP/1.1 301 Moved Permanently”);
- header(“location: $url”);
阅读全文
规则 1:绝不要信任外部数据或输入
关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据。外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数据。在采取措施确保安全之前,来自任何其他来源(比如 GET 变量、表单 POST、数据库、配置文件、会话变量或 cookie)的任何数据都是不可信任的。
例如,下面的数据元素可以被认为是安全的,因为它们是在 PHP 中设置的。 阅读全文
strip_tags
去掉 HTML 及 PHP 的标记。
语法: string strip_tags(string str);
传回值: 字串
函式种类: 资料处理 阅读全文