假设php通过cgi/mod_php/etc等以web模式运行...
是否可以安全地假设$ _SERVER ['REMOTE_ADDR']将存在,并且更进一步说,它将包含正确的程式化(对不起,术语可能在这里......)ip(1.1.1.1 - > 255.255.255.255?)?
这不是一个有关天气的问题,$ _SERVER ['REMOTE_ADDR']中包含的ip将是发出请求的客户端的真实IP地址,因为我明白这可以通过修改出站tcp来'欺骗'包...
只是简单:
一)将$ _ SERVER [ 'REMOTE_ADDR']如果PHP是在网络模式下运行始终存在。 b)如果$ _SERVER ['REMOTE_ADDR']总是存在,它是否总是包含正确的语法IP?
谢谢。
好问题 - 我认为这两个问题的答案都是“是”,但我对[IPV6](http://en.wikipedia.org/wiki/IPV6)并不完全确定。出于好奇,你为什么需要知道?如果它不是*格式正确的IP,你会在哪一点遇到麻烦? –
刚刚通过已运行(运行良好)多年的代码,但已通过以下验证此信息: isset($ _ SERVER ....)+ ^([1-9] | [1-9] [0-9] | 1 [0-9] [0-9] | 2 [0-4] [0-9] | 25 [0-5])(\([0-9] |。[1- 9] [0-9] | 1 [0-9] [0-9] | 2 [0-4] [0-9] | 25 [0-5])){3}^ 这似乎是完全不必要 –
尽可能符合ipv6 ...在运行此代码的盒子上禁用了ipv6,所以在那个前端没问题(暂时)...再次感谢! –