如何执行反向DNS查找,即如何在Perl中将IP地址解析为其DNS主机名?
是否有人知道一种好的方式(免费或付费)来确定传入的IP是否来自移动运营商?
之前有一个问题: 确定细胞载体的API?
答案是"使用ISP数据库并匹配名称".我想我希望在一年半以来,这个问题被问到有人提出了更清洁的东西吗?
手指交叉
这是一个两部分问题.我需要将我在开发服务器上的rails网站限制为只有几个IP地址,因此公众无法访问它.(基本HTTP身份验证不会"完全"工作,因为auth会破坏项目中的Flash上传器.)
基于我的Google搜索,这是我在路线文件中提出的...
class WhitelistConstraint
def initialize
@ips = '127.0.0.1'
end
def matches?(request)
@ips.include?(request.remote_ip)
end
end
MyProject::Application.routes.draw do
constraints WhitelistConstraint.new do
# all my routing stuff here
end
end
Run Code Online (Sandbox Code Playgroud)
工作得很好.但是,我需要修改它以便使用多个IP地址.我尝试在@ips上使用数组,以及循环遍历每个循环,但都没有工作.
最重要的是,我的问题的第二部分......我可能只需要检查IP的一部分,例如'127.0.0'.我该怎么办?
我有一个网站,只有几个人可以访问它,因此登录的IP数量非常有限.登录的"管理员"提交的所有内容都将发送到与其IP地址相关的特定文件夹.他们再次无法通过代理或任何东西访问网站,因为允许的IP范围有限.
我可以信任$_SERVER['REMOTE_ADDR']提供有效的IP,以便日志系统100%稳定高效吗?
我想ip2logn($_SERVER['REMOTE_ADDR'])出于某种原因在db中存储值.
实际上,正如我所见,$_SERVER['REMOTE_ADDR']总是有价值.任何人都可以确认它总是为任何用户设置,不能因任何原因设置吗?
我问它的原因是要确保我应该选择NOT NULL而不是DEFAULT NULLMySQL表中的列.
所以,我可以存储ipaddress varchar(15) NOT NULL (yes, NOT null) or ip2longaddressint(11)NOT NULL,第二个选项,据我所知,最优选.
谢谢.
最近我在我的开发机器上安装了Ubuntu 12.10.我也安装了apache 2.2和Php 5.3.8以及Php 5.2.17和MySQL.一切正常,我可以通过127.0.0.1和Localhost关键字和主机名浏览我的网站和项目但我无法通过本地IP地址(192.168.1.5)访问我的网站或Apache Web服务器.我用Ubuntu 11.10在笔记本电脑上运行这个模型,可以通过192.168.1.x访问.
你对这个问题有任何了解吗?请让我知道你的XP在这种情况下?
万分感谢你的病人... Farzam.
在过去的几个星期里,我一直在搜索互联网,计算机程序员的思想,以及一些随机的人在我想要克服的情况.基本上,我试图做到这一点写AntiJoinBot"插件"(如果你愿意)流行的游戏的Minecraft.这就像所有其他人一样,它根据是否使用代理来阻止IP,但是这个AntiJoinBot运行在与实际服务器不同的VPS上.
这是我能够对情况做出的最佳图表(它不是那么好):
(非Minecraft服务器)连接 - >代理检查 - >重定向到服务器 - > Minecraft
唯一的问题是,我需要能够重定向IP并关闭连接,以便播放器的真实IP是连接到服务器的IP.如果无法关闭连接,则由于我们正在运行的某些插件而导致实际问题.
如果您有解决方案或更好的方法,请帮助我.
我正在寻找一种简单的方法来将Apache 2.4.x中的IP地址列入黑名单.我的网站将尝试非法操作的IP地址记录到文本文件中.我想在Apache中使用这个文本文件来拒绝所有访问此ip列表的所有vhosts.什么是最好的方式(最容易和最少资源消耗的方式)?发现这个,但这仅适用于2.2 ..不确定这是如何适用于2.4 ..干杯.
编辑:这是一个运行apache x64的windows x64盒子
我有以下问题:
我在Ansible的命令行上编写用于设置IP地址的playbook.让我们说10.10.10.x. 我需要获取我的公共IP的最后一部分,然后说xxx15并将其分配给私有:10.10.10.15.这有变量吗?我能抓到一些吗?我试过用类似的东西:
shell: "ip addr show | grep inet ...."
register: host_ip
Run Code Online (Sandbox Code Playgroud)
但这不是我需要的.它可以工作,但仅限于有限数量的服务器.
整个事情应该是这样的:
"shell: /dir/script --options 10.10.10.{{ var }}"
Run Code Online (Sandbox Code Playgroud)
并{{ var }}应成为公共知识产权的主机部分.
编辑:
谢谢!这是我的最终解决方案:
- name: Get the host part of the IP
shell: host {{ ansible_fqdn }} | awk '{print $4}'
register: host_ip
Run Code Online (Sandbox Code Playgroud)
和
{{ host_ip.stdout.split('.')[3] }}
Run Code Online (Sandbox Code Playgroud)
稍后在剧本中使用它.
如果一个人提取HOST从值HttpContext的HttpRequest的Headers 集合,有没有确定是否返回的值是DNS解析的名称或直接IP地址的方式吗?
示例用法
string host = HttpContext.Current.Request.Headers["HOST"];
if (host.IsIPAddress()) ... /// Something like this ?
or
(host.IsDNSResolved()) // Or this?
Run Code Online (Sandbox Code Playgroud)
摘要
很明显,人们可以对结果进行正则表达式模式测试以寻找IP模式,但是是否有一个属性HttpContext或者更可能HttpRequest,或者甚至是辅助类的外部静态方法可以做出这样的决定?