如何js实现点击链接另存为在网站上点击一下就记一次数

易语言怎么实现在别人点击一个网站的情况下我的本地积分记录+1?必须要记录ip的,一个ip只算一次_百度知道
易语言怎么实现在别人点击一个网站的情况下我的本地积分记录+1?必须要记录ip的,一个ip只算一次
我有更好的答案
直接记录 网站的标题不经好了么 不会的话 网站 还有截图 都发上来 晚上 我玩完游戏给你做
就是推广网站,别人点击按钮就复制网址,网址上有别人的ip,意思是那个ip的推广,别人点了之后在本地的记录框里加1
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁dngood 的BLOG
用户名:dngood
文章数:177
评论数:394
访问量:1699231
注册日期:
阅读量:24883
阅读量:965770
阅读量:206321
阅读量:132426
51CTO推荐博文
记一次TIME_WAIT网络故障
最近发现一个PHP脚本时常出现连不上服务器的现象,调试了一下,发现是TIME_WAIT状态过多造成的,本文简要介绍一下解决问题的过程。
遇到这类问题,我习惯于先用strace命令跟踪了一下看看:
shell& strace php /path/to/file
EADDRNOTAVAIL (Cannot assign requested address)
从字面结果看似乎是网络资源相关问题。这里顺便介绍一点小技巧:在调试的时候一般是从后往前看strace命令的结果,这样更容易找到有价值的信息。
查看一下当前的网络连接情况,结果发现TIME_WAIT数非常大:
shell& netstat -nt | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,&\t&,state[key]}'
TIME_WAIT 28233
重复了几次测试,结果每次出问题的时候,TIME_WAIT都等于28233,这真是一个魔法数字!实际原因很简单,它取决于一个内核参数net.ipv4.ip_local_port_range:
shell& sysctl -a | grep port
net.ipv4.ip_local_port_range =
因为端口范围是一个闭区间,所以实际可用的端口数量是:
shell& echo $((+1))
问题分析到这里基本就清晰了,解决方向也明确了,内容所限,这里就不说如何优化程序代码了,只是从系统方面来阐述如何解决问题,无非就是以下两个方面:
首先是增加本地可用端口数量。这点可以用以下命令来实现:
shell& echo &net.ipv4.ip_local_port_range = & && /etc/sysctl.conf
shell& sysctl -p
其次是减少TIME_WAIT连接状态。网络上已经有不少相关的介绍,大多是建议:
shell& sysctl net.ipv4.tcp_tw_reuse=1
shell& sysctl net.ipv4.tcp_tw_recycle=1
注:通过sysctl命令修改内核参数,重启后会还原,要想持久化可以参考前面的方法。
这两个选项在降低TIME_WAIT数量方面可以说是立竿见影,不过如果你觉得问题已经完美搞定那就错了,实际上这样可能会引入一个更复杂的网络故障。
关于内核参数的详细介绍,可以参考。我们这里简要说明一下tcp_tw_recycle参数。它用来快速回收TIME_WAIT连接,不过如果在NAT环境下会引发问题。
中有如下一段描述:
An additional mechanism could be added to the TCP, a
per-host&cache of the last timestamp received from any connection.&This
value could then be used in the
mechanism to reject&old duplicate segments from earlier incarnations of
the&connection, if the timestamp clock can be guaranteed to have&ticked
at least once since the old connection was open. This&would require
that the TIME-WAIT delay plus the RTT together&must be at least one tick
of the sender&s timestamp clock.&Such an extension is not part of the
proposal of this RFC.
大概意思是说TCP有一种行为,可以缓存每个连接最新的时间戳,后续请求中如果时间戳小于缓存的时间戳,即视为无效,相应的数据包会被丢弃。
Linux是否启用这种行为取决于tcp_timestamps和tcp_tw_recycle,因为tcp_timestamps缺省就是开启的,所以当tcp_tw_recycle被开启后,实际上这种行为就被激活了。
现在很多公司都用LVS做负载均衡,通常是前面一台LVS,后面多台后端服务器,以NAT方式构建,当请求到达LVS后,它修改地址数据后便转发给 后端服务器,但不会修改时间戳数据,对于后端服务器来说,请求的源地址就是LVS的地址,加上端口会复用,所以从后端服务器的角度看,原本不同客户端的请 求经过LVS的转发,就可能会被认为是同一个连接,加之不同客户端的时间可能不一致,所以就会出现时间戳错乱的现象,于是后面的数据包就被丢弃了,具体的 表现通常是是客户端明明发送的SYN,但服务端就是不响应ACK,还可以通过下面命令来确认数据包不断被丢弃的现象:
shell& netstat -s | grep timestamp
... packets rejects in established connections because of timestamp
如果服务器身处NAT环境,安全起见,通常要禁止tcp_tw_recycle,至于TIME_WAIT连接过多的问题,可以通过激活tcp_tw_reuse来缓解。
进一步思考,既然必须同时激活tcp_timestamps和tcp_tw_recycle才会触发这种现象,那只要禁止 tcp_timestamps,同时激活tcp_tw_recycle,就可以既避免NAT丢包问题,又降低TIME_WAIT连接数量。如果服务器并不 依赖于RFC1323,那么这种方法应该也是可行的,不过最好多做测试,以防有其他的副作用。
shell& sysctl net.ipv4.tcp_timestamps=0
shell& sysctl net.ipv4.tcp_tw_recycle=1
总体来说,这次网络故障本身并没什么高深之处,本不想罗罗嗦嗦写这么多,不过拔出萝卜带出泥,在过程中牵扯的方方面面还是值得大家品味的,于是便有了这篇文字。
我遇到的问题,看过上边的四篇文章后我们就知道问题的原因了。
client (windows/linux) & -- & linux nat 服务器 & -- & web server(linux)
这里500 多台client 同过linux nat 服务器上网,一直运行正常,直到最近上有同事反应,linux client 用户无法访问某网站频道,而windows client用户则没有问题,真像上面说的一样人民问题吗?
echo&0&&/proc/sys/net/ipv4/tcp_tw_recyclesysctl -p
//tcp_tw_recycle默认是关闭的,有不少服务器,为了提高性能,开启了该选项
linux client 用户无法访问某网站频道,而其他网站这正常!问题在web server 上!
windows(xp)
tcpdump&-vvn&dst&211.x.x.x&
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
10:49:05.600205 IP (tos 0x0, ttl 64, id 4280, offset 0, flags [DF], proto TCP (6), length 52)
&&& 192.168.4.157.1244 & 211.x.x.x.80: Flags [S], cksum 0x9f8d (correct), seq , win 64240, options [mss 1460,nop,wscale 0,nop,nop,sackOK], length 0
10:49:05.607071 IP (tos 0x0, ttl 64, id 4281, offset 0, flags [DF], proto TCP (6), length 40)
&&& 192.168.4.157.1244 & 211.x.x.x.80: Flags [.], cksum 0x2c80 (correct), seq , ack , win 64240, length 0
10:49:55.618477 IP (tos 0x0, ttl 64, id 4337, offset 0, flags [DF], proto TCP (6), length 40)
&&& 192.168.4.157.1244 & 211.x.x.x.80: Flags [.], cksum 0x2c7f (correct), seq 0, ack 214, win 64028, length 0
10:49:55.637271 IP (tos 0x0, ttl 64, id 4338, offset 0, flags [DF], proto TCP (6), length 40)
&&& 192.168.4.157.1244 & 211.x.x.x.80: Flags [F.], cksum 0x2c7e (correct), seq 0, ack 214, win 64028, length 0
linux(ub12.04)
tcpdump&-i&eth1&-vvn&host&192.168.4.35&and&&211.x.x.x&
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
11:57:08.197353 IP (tos 0x10, ttl& 62, id 8687, offset 0, flags [DF], proto: TCP (6), length: 60) 192.168.4.35.57699 & 211.x.x.x.http: S, cksum 0x78d4 (correct), 89925(0) win 14600 &mss 1460,sackOK,timestamp
0,nop,wscale 7&
11:57:09.193852 IP (tos 0x10, ttl& 62, id 8688, offset 0, flags [DF], proto: TCP (6), length: 60) 192.168.4.35.57699 & 211.x.x.x.http: S, cksum 0x77da (correct), 89925(0) win 14600 &mss 1460,sackOK,timestamp
0,nop,wscale 7&
11:57:11.197844 IP (tos 0x10, ttl& 62, id 8689, offset 0, flags [DF], proto: TCP (6), length: 60) 192.168.4.35.57699 & 211.x.x.x.http: S, cksum 0x75e5 (correct), 89925(0) win 14600 &mss 1460,sackOK,timestamp
0,nop,wscale 7&
结论:windows 发出的tcp 包中没有timestamp,固能够完成tcp 的三次握手,而linux 发出的tcp 包中包含timestamp,webserver 拒绝发送syn/ack包,你能看到包的标志全部是S,所以不能完成tcp 的三次握手,也就不能访问web server 了。
这里简单解释下tcpdump 数据包意义
TCP包的输出信息
用TCPDUMP捕获的TCP包的一般输出信息是:
src & dst: flags data-seqno ack window urgent options
src & dst:表明从源地址到目的地址, flags是TCP包中的标志信息,S 是SYN标志, F (FIN), P (PUSH) , R (RST) &.& (没有标记);
data-seqno是数据包中的数据的顺序号, ack是下次期望的顺序号, window是接收缓存的窗口大小,
urgent表明数据包中是否有紧急指针. Options是选项.
每一行中间都有这个包所携带的标志:
S=SYN,发起连接标志
P=PUSH,传送数据标志
F=FIN,关闭连接标志
ack&&& 表示确认包
RST= RESET,异常关闭连接
. 表示没有任何标志
这里是参考上边的四篇文章得出结果,感谢这些前辈分享,同时也要在这里告诉其他朋友,没有十足的把握,不要优化Linux 内核!!!!
了这篇文章
类别:┆阅读(0)┆评论(0)这是个机器人猖狂的时代,请输一下验证码,证明咱是正常人~记一次被劫持挂马经历:Elasticsearch的远程执行漏洞 - 网站安全 - 红黑联盟
记一次被劫持挂马经历:Elasticsearch的远程执行漏洞
公司使用的是Ucloud的云主机服务,今天上午突然被告知有一台服务器的出口流量激增,对外发包量短时间内达到了100万,而且都是UDP类型的,第一感觉就是:诶呀,莫不是被黑了,被当肉鸡了呀!
立马登录对应的服务器,首先使用iftop查看流量状况
可以看出出口流量好吓人,1分钟内累计700M流量,查了一下这2个IP地址,一个是在美国,一个是在浙江电信;
赶紧查看正在运行的进程,找出疑似进程,还真有所发现:
[.ECC6DFE919A382]这个进程还想冒充系统进程,疑点极大,而且/tmp/freeBSD也是一个很奇怪的东西,而498这个UID对应的用户是elasticsearch,想起来昨天部署了Elasticsearch + Logstash,以实现日志统计系统,不会是ES有bug吧,继续查看原因
怀疑/tmp/freeBSD就是被挂马的程序,可惜已经被删除了,无法查看了
罪魁祸首查出来了,细致的原因还需要详查,所以现在最重要的就是解决问题,迅速kill掉相关进程,再次查看iftop发现流量迅速回落了,更加证实了我们的判断;
接下来就需要查找被劫持挂马的原因和具体的劫持方式,以绝后患,而通过外部搜索引擎也是很快就定位了问题的原因,就是&Elasticsearch远程任意代码执行&:
ElasticSearch有脚本执行(scripting)的功能,可以很方便地对查询出来的数据再加工处理; ElasticSearch用的脚本引擎是MVEL,这个引擎没有做任何的防护,或者沙盒包装,所以直接可以执行任意代码。;
而在ElasticSearch 1.2之前的版本里,默认配置是打开动态脚本功能的,因此用户可以直接通过http请求,执行任意代码。;
其实官方是清楚这个漏洞的,在文档里有说明:&
First, you should not run Elasticsearch as the root user, as this would allow a script to access or do anything on your server, without limitations. Second, you should not expose Elasticsearch directly to users, but instead have a proxy application inbetween.
终于找到原因,那就解决吧
解决方案:
法一:手动关闭ES远程执行脚本的功能,即在每一个ES节点的配置文件elasticsearch.yml中添加如下一行即可
script.disable_dynamic:&true&
然后重启ES即可;
法二:升级ES至1.2版本以上也可,因为在ES1.2版本中已默认关闭了远程执行脚本的功能,但需考虑与Logstash的兼容性问题;
根据官方的资料,为了保证ES的安全性,不可以root身份启动ES,且可考虑使用代理(负载均衡器也可),对外开放非9200端口(如9300),转发至内网的9200端口,可有效防止小人们的恶意端口扫描;
因为已经被挂马了一次,所以在重新启用ES之前,还需全面检查被入侵的主机是否还有其它隐患,这就涉及web安全扫描的内容了,暂时小白,还未了解,故希望有经验的前辈可以多多请教!由一次抽放后,这三张牌的排列结果为,,,,直接利用概率公式求解即可求得答案;首先根据题意画出树状图,然后由树状图求得所有等可能的结果与两次抽放后,这三张牌的排列结果为的情况,再利用概率公式即可求得答案.
解:一次抽放后,这三张牌的排列结果为,,,,一次抽放后,这三张牌的排列结果为的概率是:.两次抽放后所有结果如下:共有种等可能的结果,两次抽放后,这三张牌的排列结果为的有种情况,两次抽放后,这三张牌的排列结果为的概率是:.
本题考查的是用列表法或画树状图法求概率.列表法或画树状图法可以不重复不遗漏的列出所有可能的结果,列表法适合于两步完成的事件,树状图法适合两步或两步以上完成的事件.用到的知识点为:概率所求情况数与总情况数之比.
4051@@3@@@@列表法与树状图法@@@@@@271@@Math@@Junior@@$271@@2@@@@概率@@@@@@54@@Math@@Junior@@$54@@1@@@@统计与概率@@@@@@7@@Math@@Junior@@$7@@0@@@@初中数学@@@@@@-1@@Math@@Junior@@
第四大题,第1小题
求解答 学习搜索引擎 | 如图,将点数为2,3,4的三张牌从左到右排列,并且按从左到右的牌面数字记录排列结果为234.现在做一个抽放牌游戏:从上述左,中,右三张牌中随机抽取一张,然后把它放在其余两张牌的中间,并且重新记录排列结果.例如,若第1次抽取的是左边的一张,点数是2,那么第1次抽放后的排列结果是324;第2次抽取的是中间的一张,点数仍是2,则第2次抽放后的排列结果仍是324.照此游戏规则,回答下列问题.(1)一次抽放后,这三张牌的排列结果为234的概率是多少?请直接写出结果.(2)两次抽放后,这三张牌的排列结果为234的概率又是多少?请说明理由.}

我要回帖

更多关于 js实现点击链接另存为 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信