- MySQL和PHP中以整型存储IP地址
zlchen
PHP//ip地址$user_ip=$_SERVER['REMOTE_ADDR'];//将获取到的ip地址转换为整型以及无符号格式$save_ip=sprintf('%u',ip2long($userIp));//转换整型后的ip地址echo$save_ip."\n";//将整型的ip地址转换为正常ip地址echolong2ip($save_ip)."\n";;MySQL--将ip地址转换为整型s
- buuctf[第二章 web进阶]SSRF Training 1
一整个 宇宙的繁星
buuctfweb
1.点击链接,进行代码审计>24==$int_ip>>24||ip2long('10.0.0.0')>>24==$int_ip>>24||ip2long('172.16.0.0')>>20==$int_ip>>20||ip2long('192.168.0.0')>>16==$int_ip>>16;//判断是否是私有地址,是则返回1}//自定义函数2functionsafe_request_url(
- [网鼎杯 2020 玄武组]SSRFMe
Arnoldqqq
在BUU做的复现>24==$int_ip>>24||ip2long('10.0.0.0')>>24==$int_ip>>24||ip2long('172.16.0.0')>>20==$int_ip>>20||ip2long('192.168.0.0')>>16==$int_ip>>16;}functionsafe_request_url($url){if(check_inner_ip($url))
- MySQL数据库的优化
你与时光终会散
一、数据类型的优化使用什么样的类型更合适,性能更快tingint(255)、smallint、int、bigint(上千万上亿)考虑空间的问题和范围的问题char、varchar存储字符串长度是否固定enum特定、固定的分类可以使用enum存储,效率更快IP地址的存储ip2long整型存储tinyint从-2^7(-128)到2^7-1(123)的整型数据。存储大小为1个字节。unsigned是从
- PHP基于ip2long实现IP转换整形
如何将四个字段以点分开的IP网络址协议地址转换成整数呢?PHP里有这么一个函数ip2long.比如我们将得到167903491这是如何计算的,目前我知道有两个算法。其一其二,用位运算我们会发现,有些ip转化成整数后,是负的,这是因为得到的结果是有符号整型,最大值是2147483647.要把它转化为无符号的,可以用sprintf("%u",ip2long($ip);就能转换为正整数。而且得到的结果用
- ip转数字,ip地址转十进制 long类型,ip转十进制输出负数
XiaoBaiduQs
最近在公司做一些解析ip的需求,把ip转成整型当作redis的key值是一个不错的选择。下面说一下ip地址怎么转整型的。php语法echoip2long("220.181.1.2");//输出结果:-592117502以上出现了负数,原因是ip地址较大,这里可以将其转成无符号格式。echosprintf("%u",ip2long($ipAdd));//输出结果:3702849794用sprintf
- php 函数来区别ip地址是否是本地域
持之以恒
php
publicfunctionregip($ip){$ip=ip2long($ip);$net_a=ip2long('10.255.255.255')>>24;//A类网预留ip的网络地址$net_b=ip2long('172.31.255.255')>>20;//B类网预留ip的网络地址$net_c=ip2long('192.168.255.255')>>16;//C类网预留ip的网络地址retu
- face6 自定义函数和内置函数
谢凌
487104执行的时候再读函数部分着重记忆php函数的定义相关内容理解变量作用域,静态变量函数的参数和返回值的相关内容,重点记忆我们总结的内置函数系统内置函数时间日期函数date()strtotime()mktime()time()microtime()date_default_timezone_set()ip处理函数ip2long()long2ip();打印处理print()printf()pr
- 非常实用的十个PHP高级应用技巧
ricky-lyu
LAMP
PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。它可以比CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多。下面介绍了十个PHP高级应用技巧。1,使用ip2long()和long2ip()函数来把IP地址转化成整型存储到数据库里。这种方法把存储空间降到了接近
- 【红日Day16-CTF】SSRF漏洞 curl访问本地资源
sec_pz
技术
练习记录复现代码:index.php>24==$int_ip>>24||ip2long('10.0.0.0')>>24==$int_ip>>24||ip2long('172.16.0.0')>>20==$int_ip>>20||ip2long('192.168.0.0')>>16==$int_ip>>16||ip2long('0.0.0.0')>>24==$int_ip>>24;}function
- [网鼎杯 2020 玄武组]SSRFMe
__blacknight
ctf
平台:buuoj.cn直接给出源码>24==$int_ip>>24||ip2long('10.0.0.0')>>24==$int_ip>>24||ip2long('172.16.0.0')>>20==$int_ip>>20||ip2long('192.168.0.0')>>16==$int_ip>>16;}functionsafe_request_url($url){if(check_inner_
- PHP中客户端IP地址的获取
回车键
PHP
初学php,写了一个注册的页面,但注册一直不成功,代码没错也没有错误提示,后来经过排错,发现ip2long($_SERVER['REMOTE_ADDR'])这条语句打印出来为false。再进一步排错发现$_SERVER['REMOTE_ADDR']获取的值为::1,ip2long()在转换成整型时转换成了false。这是为什么呢?理论上讲,应该是127.0.0.1才对,为什么这个获取的值变成了ip
- 9th Geek SSRF
Str3am
WebCTFphp
前言学校举办的第九届极客大挑战,其中一道根据Blackhat议题出的ssrf题目,也是第一次尝试阅读php源码,望大牛们勿喷代码分析>24==$int_ip>>24||ip2long('10.0.0.0')>>24==$int_ip>>24||ip2long('172.16.0.0')>>20==$int_ip>>20||ip2long('192.168.0.0')>>16==$int_ip>>1
- 判断内网ip
acmer1183
网络
web中有很些敏感操作我们只希望通过内网访问,对此可以对来源ip做判断,如果是内网则允许访问,否则拒绝php中可如下实现functionisIntranet($ip){$ipLong=ip2long($ip);if(!$ipLong){returnfalse;}if(($ipLong&0xff000000)===0x0a000000){//10.0.0.0-10.255.255.255return
- Buu-第二届网鼎杯_玄武组web_ssrfme
Kvein Fisher
漏洞复现
本博客用于学习记录,打完网鼎之后一直想知道这道web题怎么做,后来在BUU发现了这道,想做一下复现,因为第一次接触redis,所以遇到很多坑,有理解不到位的地方还请各位多多指点>24==$int_ip>>24||ip2long('10.0.0.0')>>24==$int_ip>>24||ip2long('172.16.0.0')>>20==$int_ip>>20||ip2long('192.168
- 2.7自定义函数及内部函数考察点
followyounger1
从函数返回一个引用,必须在函数声明和指派返回值给一个变量时都使用引用运算符&当第二次,你想改值的时候,会改为100image.pngimage.pngimage.pngimage.pngimage.pngimage.png考点,,之间的差值,,两天之间的差值是多少,,,等等。IP处理函数ip2long()long2ip()image.pngprint只能打印一个变量,而echo能打印多个变量。pr
- 电子商城项目开发(后台功能模块开发)
陈莺莺呀
后台登陆页login.php$adminuser,'id'=>$res['id']]);$login_at=date('Y-m-dH:i:s');$ip=$_SERVER['REMOTE_ADDR']=='::1'?'127.0.0.1':$_SERVER['REMOTE_ADDR'];$login_ip=ip2long($ip);$sql="UPDATE{$prefix}adminSETlogi
- 随机取出ip地址范围中的一个ip
镜花水中月
##long2ip数字转为ip##ip2longIp转为数字functionrand_ip(){$ip_long=array(array('607649792','608174079'),//36.56.0.0-36.63.255.255array('975044608','977272831'),//58.30.0.0-58.63.255.255array('999751680','999784
- 十个PHP高级应用技巧果断收藏
PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。它可以比CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多。下面介绍了十个PHP高级应用技巧。1,使用ip2long()和long2ip()函数来把IP地址转化成整型存储到数据库里。这种方法把存储空间降到了接近
- PHP中IP地址与整型数字互相转换详解
IP转换成整型存储是数据库优化一大趋势,不少人目前存储IP时还在使用字符串类型存储,字符串索引比整型索引消耗资源很多,特别是表中数据量大的时候,以及求查询某一个ip段的数据,今天说的ip是指ip4,ip6不在本文范围内。系统函数ip2long与long2ipPHP中有内置函数ip2long可以将ip地址转换整型。复制代码代码如下:$ip='210.110.11.49';echoip2long($i
- 探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
【造成原因】:BecausePHP'sintegertypeissigned,andmanyIPaddresseswillresultinnegativeintegers.【解决办法】:其官方手册中提到,可以“youneedtousethe"%u"formatterofsprintf()orprintf()togetthestringrepresentationoftheunsignedIPadd
- 详谈php ip2long 出现负数的原因及解决方法
php提供了ip2long与long2ip方法对ip地址处理。1、ip2long―将一个IPV4的字符串互联网协议转换成数字格式intip2long(string$ip_address)参数:ip_address一个标准格式的地址。返回值:返回IP地址转换后的数字或FALSE如果ip_address是无效的。2、long2ip―将数字格式转换成一个IPV4的字符串互联网协议stringlong2i
- SSRF
蓝小俊
题目地址:http://ctf473831530.yulige.top:12345Tips1:flag.phpTips2:常见端口>24==$int_ip>>24||ip2long('10.0.0.0')>>24==$int_ip>>24||ip2long('172.16.0.0')>>20==$int_ip>>20||ip2long('192.168.0.0')>>16==$int_ip>>16
- ipv4 地址转整数
过往云技
IPV4地址长度为:32为,即4个字节,以分号十进制组成的4段表示:10.10.10.10,每段数值范围:0~255(2^8-1)PHP内置函数ip2long()—将IPV4的字符串互联网协议转换成长整型数字long2ip()—将长整型转化为字符串形式带点的互联网标准格式地址(IPV4)地址转整数32位二进制转十进制,如:10.10.10.10,对应二进制为:0000101000001010000
- PHP中将ip转为数字(ipv4/ipv6)
FindJiang
PHP
需求:将ipv4或ivp6的ip地址转为数字后存入数据库中一、将ipv4转为数字(正整数):ipv4可直接用PHP自带的函数ip2long()函数与sprintf()函数结合进行转换,代码如下:$ip='202.203.44.225';$ipToInt=sprintf('%u',ip2long($ip));//结果为:3402312929echo"ip'202.203.44.225'tointis
- TP框架简单网站统计功能的实现 PV IP UV
难以释怀的美
常用
publicfunctionsave(){$add['ip']=ip2long(get_client_ip());if(!cookie('fullyeetally')){$value=md5(microtime().$add['ip'].rand());$overTime=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-time();cookie("fu
- PHP使用ip2long跳过的坑
hotlinhao
php
之前存储IP地址都是用varchar(15)来存储在数据库中,后来发现有个ip2long的函数,于是就把IP存储改为Int(11),起初测试均没有发现什么问题。上线后发现有很多127.255.255.255的IP地址,非常的奇怪,我在做存储之前也看别人写过关于ip2long会有负数的情况出现。存储进去去的均为正数,没有负数的情况。百思不得其解,直到最近看到一篇博客。在mysql中int(11)的最
- php进行ip地址掩码运算处理的方法
dotcoo
本文实例讲述了php进行ip地址掩码运算处理的方法。分享给大家供大家参考,具体如下:ip解析:functionip_parse($ip_str){$mark_len=32;if(strpos($ip_str,"/")>0){list($ip_str,$mark_len)=explode("/",$ip_str);}$ip=ip2long($ip_str);$mark=0xFFFFFFFF0){li
- PHP 计算IP地址是否在同一网段
lu7657602
functionIP地址
// $ip是IP地址,$subnetMask是子网掩码的IP地址
function getSubNetIPList($ip, $subnetMask)
{
// 将ip地址和子网掩码转换为整数
$ipNum = ip2long($ip);
$subnetMaskNum = ip2long($subnetMask);
// 下面的计算需要必须能够了解子网掩码的相关知识
//
- 你不了解PHP的10件事情
senlin1202
看到有人翻译的《10thingsyou(probably)didn’tknowaboutPHP》,发现在此次之前2、8两条并不知道,1、3虽然熟知但是去没有实际应用。由于阅读本blog的绝大多数朋友都是有PHP基础的,所以决定转载过来给大家看看。1.使用ip2long()和long2ip()函数来把IP地址转化成整型存储到数据库里。这种方法把存储空间降到了接近四分之一(char(15)的15个字节
- 怎么样才能成为专业的程序员?
cocos2d-x小菜
编程PHP
如何要想成为一名专业的程序员?仅仅会写代码是不够的。从团队合作去解决问题到版本控制,你还得具备其他关键技能的工具包。当我们询问相关的专业开发人员,那些必备的关键技能都是什么的时候,下面是我们了解到的情况。
关于如何学习代码,各种声音很多,然后很多人就被误导为成为专业开发人员懂得一门编程语言就够了?!呵呵,就像其他工作一样,光会一个技能那是远远不够的。如果你想要成为
- java web开发 高并发处理
BreakingBad
javaWeb并发开发处理高
java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据) 一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。 一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是M-S(
- mysql批量更新
ekian
mysql
mysql更新优化:
一版的更新的话都是采用update set的方式,但是如果需要批量更新的话,只能for循环的执行更新。或者采用executeBatch的方式,执行更新。无论哪种方式,性能都不见得多好。
三千多条的更新,需要3分多钟。
查询了批量更新的优化,有说replace into的方式,即:
replace into tableName(id,status) values
- 微软BI(3)
18289753290
微软BI SSIS
1)
Q:该列违反了完整性约束错误;已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 11.0” Hresult: 0x80004005 说明:“不能将值 NULL 插入列 'FZCHID',表 'JRB_EnterpriseCredit.dbo.QYFZCH';列不允许有 Null 值。INSERT 失败。”。
A:一般这类问题的存在是
- Java中的List
g21121
java
List是一个有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
与 set 不同,列表通常允许重复
- 读书笔记
永夜-极光
读书笔记
1. K是一家加工厂,需要采购原材料,有A,B,C,D 4家供应商,其中A给出的价格最低,性价比最高,那么假如你是这家企业的采购经理,你会如何决策?
传统决策: A:100%订单 B,C,D:0%
&nbs
- centos 安装 Codeblocks
随便小屋
codeblocks
1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可yum install gccyum install gcc-c++
2.安装gtk2-devel,因为默认已经安装了正式产品需要的支持库,但是没有安装开发所需要的文档.yum install gtk2*
3. 安装wxGTK
yum search w
- 23种设计模式的形象比喻
aijuans
设计模式
1、ABSTRACT FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:
- 开发管理 CheckLists
aoyouzi
开发管理 CheckLists
开发管理 CheckLists(23) -使项目组度过完整的生命周期
开发管理 CheckLists(22) -组织项目资源
开发管理 CheckLists(21) -控制项目的范围开发管理 CheckLists(20) -项目利益相关者责任开发管理 CheckLists(19) -选择合适的团队成员开发管理 CheckLists(18) -敏捷开发 Scrum Master 工作开发管理 C
- js实现切换
百合不是茶
JavaScript栏目切换
js主要功能之一就是实现页面的特效,窗体的切换可以减少页面的大小,被门户网站大量应用思路:
1,先将要显示的设置为display:bisible 否则设为none
2,设置栏目的id ,js获取栏目的id,如果id为Null就设置为显示
3,判断js获取的id名字;再设置是否显示
代码实现:
html代码:
<di
- 周鸿祎在360新员工入职培训上的讲话
bijian1013
感悟项目管理人生职场
这篇文章也是最近偶尔看到的,考虑到原博客发布者可能将其删除等原因,也更方便个人查找,特将原文拷贝再发布的。“学东西是为自己的,不要整天以混的姿态来跟公司博弈,就算是混,我觉得你要是能在混的时间里,收获一些别的有利于人生发展的东西,也是不错的,看你怎么把握了”,看了之后,对这句话记忆犹新。 &
- 前端Web开发的页面效果
Bill_chen
htmlWebMicrosoft
1.IE6下png图片的透明显示:
<img src="图片地址" border="0" style="Filter.Alpha(Opacity)=数值(100),style=数值(3)"/>
或在<head></head>间加一段JS代码让透明png图片正常显示。
2.<li>标
- 【JVM五】老年代垃圾回收:并发标记清理GC(CMS GC)
bit1129
垃圾回收
CMS概述
并发标记清理垃圾回收(Concurrent Mark and Sweep GC)算法的主要目标是在GC过程中,减少暂停用户线程的次数以及在不得不暂停用户线程的请夸功能,尽可能短的暂停用户线程的时间。这对于交互式应用,比如web应用来说,是非常重要的。
CMS垃圾回收针对新生代和老年代采用不同的策略。相比同吞吐量垃圾回收,它要复杂的多。吞吐量垃圾回收在执
- Struts2技术总结
白糖_
struts2
必备jar文件
早在struts2.0.*的时候,struts2的必备jar包需要如下几个:
commons-logging-*.jar Apache旗下commons项目的log日志包
freemarker-*.jar  
- Jquery easyui layout应用注意事项
bozch
jquery浏览器easyuilayout
在jquery easyui中提供了easyui-layout布局,他的布局比较局限,类似java中GUI的border布局。下面对其使用注意事项作简要介绍:
如果在现有的工程中前台界面均应用了jquery easyui,那么在布局的时候最好应用jquery eaysui的layout布局,否则在表单页面(编辑、查看、添加等等)在不同的浏览器会出
- java-拷贝特殊链表:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
bylijinnan
java
public class CopySpecialLinkedList {
/**
* 题目:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
拷贝pNext指针非常容易,所以题目的难点是如何拷贝pRand指针。
假设原来链表为A1 -> A2 ->... -> An,新拷贝
- color
Chen.H
JavaScripthtmlcss
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD>&nbs
- [信息与战争]移动通讯与网络
comsci
网络
两个坚持:手机的电池必须可以取下来
光纤不能够入户,只能够到楼宇
建议大家找这本书看看:<&
- oracle flashback query(闪回查询)
daizj
oracleflashback queryflashback table
在Oracle 10g中,Flash back家族分为以下成员:
Flashback Database
Flashback Drop
Flashback Table
Flashback Query(分Flashback Query,Flashback Version Query,Flashback Transaction Query)
下面介绍一下Flashback Drop 和Flas
- zeus持久层DAO单元测试
deng520159
单元测试
zeus代码测试正紧张进行中,但由于工作比较忙,但速度比较慢.现在已经完成读写分离单元测试了,现在把几种情况单元测试的例子发出来,希望有人能进出意见,让它走下去.
本文是zeus的dao单元测试:
1.单元测试直接上代码
package com.dengliang.zeus.webdemo.test;
import org.junit.Test;
import o
- C语言学习三printf函数和scanf函数学习
dcj3sjt126com
cprintfscanflanguage
printf函数
/*
2013年3月10日20:42:32
地点:北京潘家园
功能:
目的:
测试%x %X %#x %#X的用法
*/
# include <stdio.h>
int main(void)
{
printf("哈哈!\n"); // \n表示换行
int i = 10;
printf
- 那你为什么小时候不好好读书?
dcj3sjt126com
life
dady, 我今天捡到了十块钱, 不过我还给那个人了
good girl! 那个人有没有和你讲thank you啊
没有啦....他拉我的耳朵我才把钱还给他的, 他哪里会和我讲thank you
爸爸, 如果地上有一张5块一张10块你拿哪一张呢....
当然是拿十块的咯...
爸爸你很笨的, 你不会两张都拿
爸爸为什么上个月那个人来跟你讨钱, 你告诉他没
- iptables开放端口
Fanyucai
linuxiptables端口
1,找到配置文件
vi /etc/sysconfig/iptables
2,添加端口开放,增加一行,开放18081端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 18081 -j ACCEPT
3,保存
ESC
:wq!
4,重启服务
service iptables
- Ehcache(05)——缓存的查询
234390216
排序ehcache统计query
缓存的查询
目录
1. 使Cache可查询
1.1 基于Xml配置
1.2 基于代码的配置
2 指定可搜索的属性
2.1 可查询属性类型
2.2 &
- 通过hashset找到数组中重复的元素
jackyrong
hashset
如何在hashset中快速找到重复的元素呢?方法很多,下面是其中一个办法:
int[] array = {1,1,2,3,4,5,6,7,8,8};
Set<Integer> set = new HashSet<Integer>();
for(int i = 0
- 使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL
lanrikey
history
后退时关闭当前页面
<script type="text/javascript">
jQuery(document).ready(function ($) {
if (window.history && window.history.pushState) {
- 应用程序的通信成本
netkiller.github.com
虚拟机应用服务器陈景峰netkillerneo
应用程序的通信成本
什么是通信
一个程序中两个以上功能相互传递信号或数据叫做通信。
什么是成本
这是是指时间成本与空间成本。 时间就是传递数据所花费的时间。空间是指传递过程耗费容量大小。
都有哪些通信方式
全局变量
线程间通信
共享内存
共享文件
管道
Socket
硬件(串口,USB) 等等
全局变量
全局变量是成本最低通信方法,通过设置
- 一维数组与二维数组的声明与定义
恋洁e生
二维数组一维数组定义声明初始化
/** * */ package test20111005; /** * @author FlyingFire * @date:2011-11-18 上午04:33:36 * @author :代码整理 * @introduce :一维数组与二维数组的初始化 *summary: */ public c
- Spring Mybatis独立事务配置
toknowme
mybatis
在项目中有很多地方会使用到独立事务,下面以获取主键为例
(1)修改配置文件spring-mybatis.xml <!-- 开启事务支持 --> <tx:annotation-driven transaction-manager="transactionManager" /> &n
- 更新Anadroid SDK Tooks之后,Eclipse提示No update were found
xp9802
eclipse
使用Android SDK Manager 更新了Anadroid SDK Tooks 之后,
打开eclipse提示 This Android SDK requires Android Developer Toolkit version 23.0.0 or above, 点击Check for Updates
检测一会后提示 No update were found