1.请问如何屏蔽网页中的网站查看源文件(源代码)
2.ç½ç«å»ºè®¾ä¸ç®¡ç
3.如何在php上限制一个ip一天只能注册10个账户,注册多了不允许
请问如何屏蔽网页中的注册站注查看源文件(源代码)
众所周知,要保护一个页面,员源员违最基础的码写就是要屏蔽右键。而现在网页上用得最多的法网法是function click(),即下面这段代码:
〈script〉
function click(){
if(event.button==2){
alert( ’本网站欢迎您 !!’);
}
}
document.onmousedown=click
〈/script〉
但是网站后盾网 rbac源码这种屏蔽方法的破解方法也是众所周知的。那就是注册站注连续单击鼠标左键和右键便又可以看到右键菜单了。但是员源员违,我见过一种很好的码写屏蔽右键的方法。它的法网法原理和上面所说的不同。它并不是网站用JS来编写的脚本,而是注册站注利用定义网页属性来起到限制的作用。而且,员源员违在屏蔽中应该尽量的码写避开使用JS脚本。因为只要浏览者把IE里的法网法java script脚本禁用了。那么一切屏蔽都白费。
那么继续说那种通过修改网页属性的屏蔽右键的方法。这种方法利用了HTML里的〈body〉来作修改,它只有以下短短的一行代码:
〈body oncontextmenu=self.event.returnvalue=false〉
这里,定义了oncontextmenu。使得右键的值为false,起到了屏蔽右键的效果。现在,再试试看刚才的破解方法,已经不行了。左右键连击已经不能再打开右键菜单。不但是商奇评测源码这个,再试试看其他的方法。无论你怎样的乱点,右键都没有用。因为在这个网页里,右键已经不存在了。对于一个不存在的功能键,你又能做什么呢?
但是,屏蔽了右键还不能解决问题。如果我要复制一段文字,或是一张。那么,把它选中后用ctrl+C 再用 ctrl+V不就可以复制粘贴了嘛。对了,接下来要讲的,就是屏蔽左键(什么?屏蔽左键?那这个网页不就差不多废掉了?别急,没说完呢,左键只有一项功能是很讨厌的)的选定功能。
那么,如上所说,用JS来屏蔽是没有用的,治标不治本的。那么,我们就还用网页的最基础的语言:HTML来定义吧。还是老招数,定义〈body〉。这次用的canvas实现2048源码参数是:onselectstart。就是左键选定的参数。代码如下:
〈body onselectstart="return false"〉
这样,左键选定功能就给轻易屏蔽了。原理和上面的一样。现在,再用你的左键选择任意内容把,已经没有用了。自然也不能ctrl + C,ctrl +V了。那么,现在我们来把这两部分合并起来。彻底控制左右键!:
〈body oncontextmenu=self.event.returnvalue=false onselectstart="return
false"〉
现在,左右键的问题总算是解决了吧。
好,现在我们来看另一个问题。大家都知道,在IE浏览器的菜单栏里的“查看”项里。有一个“查看源代码”选项。这么一来,虽然我们屏蔽了右键里的查看源代码。但是,只要用菜单栏里的查看源代码,还是可以看到源代码的。这可怎么办呢?
我最初的想法是用框架来避开源代码的查看。也就是网页打包app源码说,只要一个网页是嵌在框架里的,那么在菜单栏里选择查看源代码查看到的只是框架网页的源代码。一般格式如下:
〈html〉
〈head〉
〈meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb"〉
〈title〉本网站标题〈/title〉
〈/head〉
〈frameset rows=",*" framespacing="0" border="0"
frameborder="0"〉
〈frame name="header" scrolling="no" noresize target="main"
src="top.htm"〉
〈frame name="main" src="main.htm" scrolling="auto"
target="_self"〉
〈noframes〉
〈body〉
〈p〉此网页使用了框架,但您的浏览器不支持框架。〈/p〉
〈/body〉
〈/noframes〉
〈/frameset〉
〈/html〉
这样看起来对方是没有直接看到你的源代码了。但是,如果一个人要看你的源代码,那他八成是能看懂的。如果懂一点HTML的话,都能看出这两句是什么意思:
〈frame name="header" scrolling="no" noresize target="main"
src="top.htm"〉
〈frame name="main" src="main.htm" scrolling="auto"
target="_self"〉
这两句的意思就是:在header(也就是网页顶部)处引用相对路径下的top.htm网页文件。而在main(也就是占据网页大部分页面的位置)处引用相对路径下的main.htm网页文件。就这两点是关键的,其他就不作解释了,大家也都懂的。而上面所讲的利用框架来隐藏源代码的方法就是将要显示页面放在main部分。而将header部分的大小设为0。但是这样一来,利用菜单栏里的查看源代码,还是能查看到框架网页的源代码。只要看到这两句,就知道我们前面用的手法了。也就是说,只要将框架网页的名字改为目标网页,便可以用相同的方法直接看到目标网页的源代码了。如:框架网页:/red.htm的源代码如上,就可以改为/main.htm。ty1214源码这样便可直接浏览被保护网页,屏蔽源代码的效果还是没有达到。
得到的永远比失去的多!
-4- : #1
UID
会员 狒狒
用户组 版主 [查看详情]
性别 : 男
阅读权限 :
来自 : 湖北 武汉
状态
帖子 [查看详情]
精华 3
主题
回复
积分策略 积分 :
现金 MMB 存款 MMB
星级
失踪 0 天 [查看详情]
注册 天
注册 -3-9
| 今日免费申请会员!
--------------------------------------------------------------------------------
那么,有些人就会想到,如果对方看不到框架网页的源代码。又何谈去直接打开被保护网页?对,这就是接下来我要讲的。如果要一个页面的菜单栏内的查看源代码失去效用。那最简单的办法就是去掉菜单栏。而这一点是可以通过弹出窗口来实现的。之所以不选用超链接打开无菜单栏窗口是因为那样会暴露目标地址,浏览者可以直接在浏览器中敲入地址,而绕过这个屏蔽的菜单栏。要使用超链接打开无菜单栏窗口,就必须在一个已受到源代码屏蔽保障的网页中使用相关链接。
那么,我们就看看如何利用弹出窗口来去掉菜单栏。其实,我们要做的,就是让目标网页在一个广告条中打开。这个代码几乎每个大型网站都会有的。代码如下:
〈script〉
〈!--
window.open("red.htm", "red", "resizable=yes,width=,height=");
--〉
〈/script〉
这里,在window.open后的括号里的第一个参数就是弹出窗口所显示的网页的位置,这里例子里是先对位置下的red.htm网页文件。这时运行便会谈出一个显示有red.htm的无菜单栏的窗口。好,我们的目的达到了。但是,这个窗口有一个缺陷,就是没有滚动条。因为在谈出窗口的语句:window.open里并没有关于滚动条的参数,(或是我不知道?欢迎高手来信指出),所以这里打开的网页建议只做成网页的导航页。
但是,用以上方法取消菜单栏,必须有一个第二方的网页来作弹出的工作。那么,这个用来弹出窗口的网页又成为了一个问题的所在。举例来说:假设,我们用一个index.htm来作弹出窗口的工作。也就是打开index.htm之后,会弹出red.htm的无菜单栏窗口。前面我们也提到了,如果知道了一个网页的地址后,无论这个网页是否隐藏在无菜单栏之下,你都能看到它的源代码。那么,不让这个red.htm的地址暴露也就成了解决这个问题的关键。但是,只要这个index.htm被打开,就可以看到源代码。但是,不妨反过来想想,如果我们把index.htm给关起来呢?只要在浏览者没有来得及查看index.htm之前将它关闭,就能保住它的源代码了。那么,在这个index.htm里就有得做些文章了。
那就是,添加关闭网页的代码。
那么,我们就可以用window.close来关闭窗口。代码如下:
〈script〉
〈!--
window.open();
--〉
〈/script〉
那么,现在我们把两部分代码合并起来。现在,得到的效果就是——直接有一个无菜单栏的窗口打开了。因为计算机的处理速度很快,如果我们将这两段代码紧接着写在一起,那么我们就只能看到新建的窗口。代码如下:
〈script〉
〈!--
window.open("red.htm", "red", "resizable=yes,width=,height=");
window.close();
--〉
〈/script〉
而原来的窗口,已在我们无察觉的情况下关闭了。这样,就别说查看该网页的源代码了。这里,加入上面源代码的网页起了一个跳板的作用。但是,在这里,我们要注意几点。第一,用来做跳板的网页不应该命名为index.htm。将它换一个名字,然后把默认首页的名字改为更改过的名字。这样,是浏览者能在输入网之后便自动访问该页。而又不致让对方知道该页的名称。如果不这样做,就会导致对方猜测出该页的位置。如:.0.0.0/index.htm。这样,就可以通过在浏览器中提交:View-Source:’)。当然,括号内也支持相对路径。最后写出来的格式应该是:
〈script〉
function open1(url){
newwin=window.open(url,’newwindow’,’fullscreen=1’)
newwin.resizeTo(,)
newwin.moveTo(screen.width/0-,screen.height/0-)
}
〈/script〉
〈body oncontextmenu=self.event.returnvalue=false onselectstart="return
false"〉
〈td width="%"〉〈a href="java script:open1(’main.htm’),window.close()"〉〈img
border="0" src="pic/blank1.gif" style="position: absolute;
left: ; top: " width="" height=""〉〈/a〉〈/td〉
〈/body〉
这样,我们就达到了打开无窗口边的网页了。并且,在这个网页中,会自动加入滚动条,这样,就不会像前面那样看不到下面的内容啦。
最后我们要做的工作,就是把每一页,或者你认为重要的关键的页面进行加密,就OK啦。怎样对网页的源代码进行加密就不用我多说了吧?网上到处都有,可以用工具,也可以自己写一个htm文件来转换。加密软件,我推荐“Batch
HTML Encryptor”,去google找吧。还有转换加密网页的代码如下:
〈HTML〉〈HEAD〉〈TITLE〉网页加密解密〈/TITLE〉
〈META pileIt.style.backgroundColor="#C0C0A8";
c.compileIt.style.cursor="hand";
c.select.style.backgroundColor="#C0C0A8";
c.select.style.cursor="hand";
c.view.style.backgroundColor="#C0C0A8";
c.view.style.cursor="hand";
c.retur.style.backgroundColor="#C0C0A8";
c.retur.style.cursor="hand";
c.clear.style.backgroundColor="#C0C0A8";
c.clear.style.cursor="hand";
}
else return;
}
/* Buttons Enlightment of "Compilation" panel */
function LightOn(what)
{
if (ie) what.style.backgroundColor = ’#E0E0D0’;
else return;
}
function FocusOn(what)
{
if (ie) what.style.backgroundColor = ’#EBEBEB’;
else return;
}
function LightOut(what)
{
if (ie) what.style.backgroundColor = ’#C0C0A8’;
else return;
}
function FocusOff(what)
{
if (ie) what.style.backgroundColor = ’#DDDDDD’;
else return;
}
/* Buttons Enlightment of "Compilation" panel */
function generate() /* Generation of "Compilation" */
{
code = document.pad.text.value;
if (code)
{
document.pad.text.value=’Compiling...Please wait!’;
setTimeout("compile()",);
}
else alert(’First enter something to compile and then press CompileIt’)
}
function compile() /* The "Compilation" */
{
document.pad.text.value=’’;
compilation=escape(code);
document.pad.text.value="〈script〉\n〈!--\ndocument.write(unescape(\""+compilation+"\"));\n//--〉\n〈\/script〉";
i++;
if (i=1) alert("Page compiled 1 time!");
else alert("Page compiled "+i+" times!");
}
function selectCode() /* Selecting "Compilation" for Copying */
{
if(document.pad.text.value.length〉0)
{
document.pad.text.focus();
document.pad.text.select();
}
else alert(’Nothing for be selected!’)
}
function preview() /* Preview for the "Compilation" */
{
if(document.pad.text.value.length〉0)
{
pr=window.open("","Preview","scrollbars=1,menubar=1,status=1,width=,height=,left=,top=");
pr.document.write(document.pad.text.value);
}
else alert(’Nothing for be previewed!’)
}
function uncompile() /* Decompiling a "Compilation" */
{
if (document.pad.text.value.length〉0)
{
source=unescape(document.pad.text.value);
document.pad.text.value=""+source+"";
}
else alert(’You need compiled code to uncompile it!’)
}
// --〉
〈/SCRIPT〉
〈BR〉〈B〉〈FONT color=#〉网页HTML源代码加密解密器〈/FONT〉〈/B〉〈/H2〉〈/DIV〉
〈TABLE cellSpacing=0 borderColorDark=# cellPadding= width=
align=center borderColorLight=#ffffff border=2〉
〈TBODY〉
〈TR〉
〈TD〉
〈DIV align=center〉〈BR〉将你的源代码贴到编辑区域即可〈BR〉〈BR〉
〈TABLE cellSpacing=0 cellPadding=0 width="%" border=0〉
〈TBODY〉
〈TR〉
〈TD width="%"〉〈!-- Compilation Panel --〉
〈FORM name=pad method=post align="center"〉
〈DIV align=center〉〈TEXTAREA style="WIDTH: %; BACKGROUND-COLOR: #ebebeb"
name=text rows= cols=〉〈/TEXTAREA〉
〈BR〉〈BR〉〈BR〉〈INPUT onmouseover=LightOn(this) onclick=generate() onmouseout=LightOut(this)
type=button value=加密 name=compileIt〉
〈INPUT onmouseover=LightOn(this) onclick=selectCode() onmouseout=LightOut(this)
type=button value=全选 name=select〉
〈INPUT onmouseover=LightOn(this) onclick=preview() onmouseout=LightOut(this)
type=button value=预览 name=view〉
〈INPUT onmouseover=LightOn(this) onclick=uncompile() onmouseout=LightOut(this)
type=button value=解密 name=retur〉
〈INPUT onmouseover=LightOn(this) onmouseout=LightOut(this) type=reset value=清除
name=clear〉
〈/DIV〉〈/FORM〉〈!-- Compilation Panel --〉〈/TD〉〈/TR〉〈/TBODY〉〈/TABLE〉〈/DIV〉〈/TD〉〈/TR〉〈/TBODY〉〈/TABLE〉
〈DIV align=center〉〈BR〉〈/DIV〉
〈DIV align=center〉〈/DIV〉 〈/TD〉〈/TR〉〈/TBODY〉〈/TABLE〉
〈/DIV〉
〈DIV〉〈/DIV〉〈/BODY〉〈/HTML〉
总结一下……按我的思路,屏蔽网页源代码主要分为以下几个步骤:
1. 做一个网页跳板,弹出要保护的广告条状页面,并将自身关闭,以避免泄露需保护网页的地址。
2. 由于上述条件屏蔽了广告条内网页的源代码,所以可以用这个网页作为欢迎页。
3. 在欢迎页中,利用java script以超连接的形式来打开无窗口边的新窗口显示网站内容。
4. 对每一个页面或者对重要的关键的页面进行源代码加密,为源代码加一把锁。(有些人说对源代码进行加密没有用,但是我觉得要使用另类点的加密方法就可以了,比如软件的加密方法就很普通。但是用我自己写的htm文件加密的源代码,一般软件是不能进行解密的。大家有兴趣的话可以试试。)
5. 最后不得不提的就是windows网页临时文件夹了,那里面会把源代码纪录的。但是不用怕,加入一种代码,就可以使windows不下载网页的源代码,直接浏览。可以去找找。
有些东西要注意的:
1. 在文中所说的自动关闭网页的语句:window.close()有一个弊病。就是会在关闭窗口之前询问是否关闭窗口,如果选择否的话目的还是达不到。
2. 以上一切都只对IE浏览器有效用,如果用别的浏览器来浏览,就有可能出现屏蔽不成功的现象。
3. 关于网页源代码屏蔽,一直以来是可望而不可及的。我只是把思路写下来,具体实现,还是要靠大家自己研究的啦。
ç½ç«å»ºè®¾ä¸ç®¡ç
ç½ç«è§å书åä½æ导ç½ç«è§å书åºè¯¥å°½å¯è½æ¶µçç½ç«è§åä¸çå个æ¹é¢ï¼ç½ç«è§å书çåä½è¦ç§å¦ã认çãå®äºæ±æ¯ãç½ç«è§å书æä¹å?ä¸é¢æ¯ç½ç«è§å书åä½æ导ï¼æ¬¢è¿é 读ã
ç½ç«è§å书åä½æ导
ä¸ã建设ç½ç«åçå¸åºåæ
1ãç¸å ³è¡ä¸çå¸åºæ¯ææ ·ç,å¸åºæä»ä¹æ ·çç¹ç¹ï¼æ¯å¦è½å¤å¨äºèç½ä¸å¼å±å ¬å¸ä¸å¡ã
2ãå¸åºä¸»è¦ç«äºè åæï¼ç«äºå¯¹æä¸ç½æ åµåå ¶ç½ç«è§åãåè½ä½ç¨ã
3ãå ¬å¸èªèº«æ¡ä»¶åæãå ¬å¸æ¦åµãå¸åºä¼å¿ï¼å¯ä»¥å©ç¨ç½ç«æååªäºç«äºåï¼å»ºè®¾ç½ç«çè½å(è´¹ç¨ãææ¯ã人åç)ã
äºã建设ç½ç«ç®çååè½å®ä½
1ã为ä»ä¹è¦å»ºç«ç½ç«ï¼æ¯ä¸ºäºå®£ä¼ 产åï¼è¿è¡çµååå¡ï¼è¿æ¯å»ºç«è¡ä¸æ§ç½ç«?æ¯ä¼ä¸çéè¦è¿æ¯å¸åºå¼æç延伸?
2ãæ´åå ¬å¸èµæºï¼ç¡®å®ç½ç«åè½ãæ ¹æ®å ¬å¸çéè¦å计åï¼ç¡®å®ç½ç«çåè½ï¼äº§åå®£ä¼ åãç½ä¸è¥éåã客æ·æå¡åãçµååå¡åçã
3ãæ ¹æ®ç½ç«åè½ï¼ç¡®å®ç½ç«åºè¾¾å°çç®çä½ç¨ã
4ãä¼ä¸å é¨ç½(Intranet)ç建设æ åµåç½ç«çå¯æ©å±æ§ã
ä¸ãç½ç«ææ¯è§£å³æ¹æ¡
æ ¹æ®ç½ç«çåè½ç¡®å®ç½ç«ææ¯è§£å³æ¹æ¡ã
1ãéç¨èªå»ºæå¡å¨ï¼è¿æ¯ç§ç¨èæ主æºã
2ãéæ©æä½ç³»ç»ï¼ç¨unix,Linuxè¿æ¯Window/NTãåææå ¥ææ¬ãåè½ãå¼åã稳å®æ§åå®å ¨æ§çã
3ãéç¨ç³»ç»æ§ç解å³æ¹æ¡(å¦IBM,HP)çå ¬å¸æä¾çä¼ä¸ä¸ç½æ¹æ¡ãçµååå¡è§£å³æ¹æ¡?è¿æ¯èªå·±å¼åã
4ãç½ç«å®å ¨æ§æªæ½ï¼é²é»ãé²ç æ¯æ¹æ¡ã
5ãç¸å ³ç¨åºå¼åãå¦ç½é¡µç¨åºASPãJSPãCGIãæ°æ®åºç¨åºçã
åãç½ç«å 容è§å
1ãæ ¹æ®ç½ç«çç®çååè½è§åç½ç«å 容ï¼ä¸è¬ä¼ä¸ç½ç«åºå æ¬ï¼å ¬å¸ç®ä»ã产åä»ç»ãæå¡å 容ãä»·æ ¼ä¿¡æ¯ãèç³»æ¹å¼ãç½ä¸å®åçåºæ¬å 容ã
2ãçµååå¡ç±»ç½ç«è¦æä¾ä¼å注åã详ç»çååæå¡ä¿¡æ¯ãä¿¡æ¯æç´¢æ¥è¯¢ãå®å确认ãä»æ¬¾ã个人信æ¯ä¿å¯æªæ½ãç¸å ³å¸®å©çã
3ãå¦æç½ç«æ ç®æ¯è¾å¤ï¼åèèéç¨ç½ç«ç¼ç¨ä¸äººè´è´£ç¸å ³å 容ã注æï¼ç½ç«å 容æ¯ç½ç«å¸å¼æµè§è æéè¦çå ç´ ï¼æ å 容æä¸å®ç¨çä¿¡æ¯ä¸ä¼å¸å¼ååæµè§ç访客ãå¯äºå 对人们å¸æé 读çä¿¡æ¯è¿è¡è°æ¥ï¼å¹¶å¨ç½ç«åå¸åè°æ¥äººä»¬å¯¹ç½ç«å 容ç满æ度ï¼ä»¥åæ¶è°æ´ç½ç«å 容ã
äºãç½é¡µè®¾è®¡
1ãç½é¡µè®¾è®¡ç¾æ¯è®¾è®¡è¦æ±ï¼ç½é¡µç¾æ¯è®¾è®¡ä¸è¬è¦ä¸ä¼ä¸æ´ä½å½¢è±¡ä¸è´ï¼è¦ç¬¦åCIè§èãè¦æ³¨æç½é¡µè²å½©ãå¾ççåºç¨åçé¢è§åï¼ä¿æç½é¡µçæ´ä½ä¸è´æ§ã
2ãå¨æ°ææ¯çéç¨ä¸è¦èè主è¦ç®æ 访é®ç¾¤ä½çåå¸å°åãå¹´é¾é¶å±ãç½ç»é度ãé è¯»ä¹ æ¯çã
3ãå¶å®ç½é¡µæ¹ç计åï¼å¦åå¹´å°ä¸å¹´æ¶é´è¿è¡è¾å¤§è§æ¨¡æ¹ççã
å ãç½ç«ç»´æ¤
1ãæå¡å¨åç¸å ³è½¯ç¡¬ä»¶çç»´æ¤ï¼å¯¹å¯è½åºç°çé®é¢è¿è¡è¯ä¼°ï¼å¶å®ååºæ¶é´ã
2ãæ°æ®åºç»´æ¤ï¼ææå°å©ç¨æ°æ®æ¯ç½ç«ç»´æ¤çéè¦å 容ï¼å æ¤æ°æ®åºçç»´æ¤è¦åå°éè§ã
3ãå 容çæ´æ°ãè°æ´çã
4ãå¶å®ç¸å ³ç½ç«ç»´æ¤çè§å®ï¼å°ç½ç«ç»´æ¤å¶åº¦åãè§èåã
ä¸ãç½ç«æµè¯
ç½ç«åå¸åè¦è¿è¡ç»è´å¨å¯çæµè¯ï¼ä»¥ä¿è¯æ£å¸¸æµè§å使ç¨ã主è¦æµè¯å 容ï¼
1ãæå¡å¨ç¨³å®æ§ãå®å ¨æ§ã
2ãç¨åºåæ°æ®åºæµè¯ã
3ãç½é¡µå ¼å®¹æ§æµè¯ï¼å¦æµè§å¨ãæ¾ç¤ºå¨ã
4ãæ ¹æ®éè¦çå ¶ä»æµè¯ã
å «ãç½ç«åå¸ä¸æ¨å¹¿
1ãç½ç«æµè¯åè¿è¡åå¸çå ¬å ³ï¼å¹¿åæ´»å¨ã
2ãæç´¢å¼æ£ç»è®°çã
ä¹ãç½ç«å»ºè®¾æ¥ç¨è¡¨
å项è§åä»»å¡çå¼å§å®ææ¶é´ï¼è´è´£äººçã
åãè´¹ç¨æç»
å项äºå®æéè´¹ç¨æ¸ åã
以ä¸ä¸ºç½ç«è§å书ä¸åºè¯¥ä½ç°ç主è¦å 容ï¼æ ¹æ®ä¸åçéæ±å建ç«ç®çï¼å 容ä¹ä¼å¨å¢å æåå°ãå¨å»ºè®¾ç½ç«ä¹åä¸å®è¦è¿è¡ç»è´çè§åï¼æè½è¾¾å°é¢æ建ç«ç®çã
ç½ç«è§å建设注æäºé¡¹
第ä¸ï¼æ¸ æ°çç½ç«ç®æ å®ä½å¯¹äºç½ç«çç®æ å®ä½ï¼å¤§å®¶è¯´æ³ä¸ä¸ï¼ä½æ¯æ»ä½ä¸è¦è®©å¤§å®¶æä¸ä¸ªæç¡®çåç«ç®æ ï¼å¦æä½ çç®çä» ä» æ¯ä¸ºäºç«èæè 娱ä¹ï¼å¤§å¯ä¸å¿ æçé£ä¹ééï¼ç¸ä¿¡å¤§å®¶åç«çç®çæç§æä¹ä¸é½æ¯åºèªåä¸æè ä¼ä¸å»ºç«ï¼å¨å±å¿å¦ä¸æè¿æ ·ä¸å¥è¯ï¼è¡å¨å¤§äºéæ©ï¼éæ©å¤§äºåªåã为ä½è¿æ ·è¯´?æ们纵è§äººçï¼è®¸è®¸å¤å¤çäººç©¶å ¶ä¸çé½æ¯æ®é人ï¼èè¿æ许许å¤å¤ææåçæ®é人ï¼ç»è¿å¤æ¹é¢çéªè¯åç°è¿æ ·çç»æï¼æºèªä»ä»¬å½åçéæ©ï¼å¦æå½åéæ©æ¯åè´¼ï¼é£ä¹ç»æä¸å®ä¸æä¹æ ·ãä»ä¸æ们ä¸é¾åç°ï¼ä¸é¾æç½å ¶ä¸çéçï¼æ以åªæéæ©æ£ç¡®äºï¼æä¼æ好çç»æãåç½ç«çéçæ¯ä¸æ ·çï¼æ们éè¦ç»¼åå类信æ¯ï¼è¿è¡åææ»ç»ï¼æ¾åºéåèªå·±çåå±æ¹åï¼é¢æµæç»çç®æ ï¼è¿éä¹éè¦ä¸ç§ç»å¤§é¥¼çç²¾ç¥ï¼æ们å¾å¤ç«é¿åç«çè¿ç¨ä¸å¾å离åå±çåç°ï¼æ¬èº«æ¯åè½´æ¿çç½ç«ï¼ååè¦æ¾ä¸MMå¾çï¼å§ä¸ä¸è®ºå½±åå¦ä½ï¼ååå°±æç´¢å¼ææ¥è¯´ï¼é£å°±æ¯å¤§å¿ãæ以å®å¥½äºç®æ å°±æç §è¿ä¸ªæ¹ååå±ä¸å»ï¼ä¸è½ä¸å¤©æ鱼两天ä¸ç½ã
第äºï¼æ³¨åååæ们éè¿åæ¹é¢çåå¤è®ºè¯ï¼æ¾åäºèªå·±åç½ç«çæ¹åï¼ç°å¨éè¦å¼å§åç½ç«ç第äºæ¥ï¼æ³¨åååï¼æ³¨åååéè¦æ³¨æ以ä¸å ç¹ï¼ç®åæè®°å¿çªåºç½ç«çç±»å«ååç±»å«çéæ©
ä¸ä¸ªå¥½è®°å¿çååå¯ä»¥è®©ä½ çç¨æ·è½»æ就记ä½äºä½ çç½ç«ï¼æ¹ä¾¿ä¸æ¬¡å次访é®ï¼ç½ç«çåååºè¯¥å°½å¯è½ççªåºç½ç«çç±»åæ¯ä»ä¹ï¼ä¸äºå¤§å综åæ§çç½ç«å¾å¾ä»¥æ°åï¼æ¼é³æ¥ååçè¥éï¼èä¸å°åçç½ç«ï¼åè¦è®©ç¨æ·è½å¤éè¿ååå°±å¤æåºç½ç«æ¯åä»ä¹çï¼ç½ç«çåç¼çéæ©åºè¯¥æ ¹æ®èªå·±çè¡ä¸å»éæ©
第ä¸ï¼æå¡å¨çéæ©æå¡å¨å ³ä¹ä»¥åç½ç«çåå±ï¼è¿ç¹ææ¯äº²èº«ä½ä¼ï¼å¥½çæå¡å¨è®©ä½ æ 忧æ èï¼å¤§å¯å»åç½ç«è¿è¥æ¨å¹¿ï¼èä¸ä¸ªå®å ¨ççåæ¹é¢åçä¸å¤ªå¥½ç空é´ï¼è®©ä½ é常éé·ï¼å 度å¥æºï¼æ³èµ·é£äºåå¤èµ·æ¥è¦ç»æå¡å¨åæçµè¯èæ 人åºççæ¶åå¾æ¯éé·ãæ以è¿é建议大家éæ©ä¸äºæå®åçå ¬å¸ï¼ç©ºé´ç¸å¯¹ç¨³å®çidcåï¼è¿æ ·ä½ å¯ä»¥çå»å¾å¤ç麻ç¦!
第åï¼ç½ç«å¶ä½ç½ç«å¶ä½æ们éè¦æ³¨æ以ä¸å æ¹é¢ï¼æºç çéæ©ï¼ç°å¨å¸é¢ä¸æé常å¤çæçç代ç ï¼æ们大å¯ä¸å¿ éè¦èªå·±ç»å»ºå¢éå»å¤§å¼ æé¼çå代ç ï¼è®ºåç±»ï¼discuzãphpwindãbbsmaxçé½æ¯ä¸éç论åç¨åºï¼èä¸å ä¹ææç交äºå ç´ é½æäºï¼æ²¡æçå¯ä»¥å©ç¨å ¶ä¸é常æ¹é¢çæ件形å¼å»åæå±ã CMSç±»ï¼dedecmsãå¸å½çé½æ¯ç»åå¤å¹´çåå±ï¼è®¸å¤ä¼ç§çç¨åºåæºæ §çç»æ¶ã
ç½ç«å®è£ ï¼é ç½®æå¡å¨ç¯å¢ï¼å¤§å®¶å¯ä»¥æç´¢çå¦ä¹ å¦ä¹ ï¼è¿ééè¦æ³¨æä¸ï¼éè¦å¯¹ç½ç«çç®å½æéè¿è¡ä¸¥æ ¼çæ§å¶ï¼å ·ä½çå®è£ è¿ç¨ï¼å¯ä»¥åç §å个æºç ç说æå»è¿è¡!
ç½ç«ç»æç设计ï¼è¿ç¹æ¯è¾éè¦ï¼ä¸ä¸ªç½ç«ååºæ¥ï¼ä¸å®è¦æåççç»æå¸å±ï¼ä¸æ¹é¢æé«ç¨æ·ä½éªï¼ä¸æ¹é¢æ¹ä¾¿æç´¢å¼æèèç¬è¡ï¼å¾å¤æºç è½ç¶å¨è¿æ¹é¢åäºå¾å¤å·¥ä½ï¼ä½æ¯è¿æ¯è¦æ们èªå·±å»éæ°è®¾è®¡å¤çï¼åè´¨åç模æ¿å¤ªå¤ï¼å¾ä¸å©äºç½ç«ä¼åï¼æ以ä¸ç®¡æ¯å¯¼èªè¿æ¯å ¶ä»ä»ä¹æ¹åé½è¦éæ°ä¿®æ¹ï¼è¿ç¹å¤§å®¶å¯ä»¥åèä¸ç¾åº¦SEO建议ï¼åèä¿®æ¹ãè¿éæ们æè¦è¿½æ±çå°±æ¯ä»£ç ç²¾ç®ä»£ç ï¼æé«ç½é¡µå è½½é度ï¼å°½å¯è½çéç¨div+cssç»æï¼js类尽å¯è½çæ¾å°ç½é¡µåºé¨ï¼å ³äºè¿ç±»çæç« æ¯æ¯è¾å¤çï¼å¤§å®¶å¯ä»¥æ£ç´¢ä¸ã
å ³é®åéæ©ï¼è¿ä¸ªå ³ä¹ç½ç«ä»¥ååè½ä¸è½åç¡®çå±ç°ç»ç¨æ·ï¼è½ä¸è½åææå¼æä¸åå¾å¥½çæåï¼ç«äºæ¿ççå ³é®è¯ï¼ä¼æµªè´¹ä½ 大éçæ¶é´ï¼è¿ä¸ä¸å®æ好çæ绩ï¼æ以è¿éçéæ©é常çå ³é®ï¼å¤§å®¶å¯ä»¥ççç¾åº¦çweb2.0ä¼å建议ï¼ä»¥ä¾¿æ´å¥½çåå±ã
å 容ç建设ï¼æ们ä»è¿æç¾åº¦çå 次大çè°æ´å¯ä»¥çåºï¼ä¹ä»å®æ¹ç说æçåºï¼æä¾é«è´¨éï¼å°½å¯è½æ¯ååæ§çæç« ï¼ä¸è¦æééåæºå¨çæé£ç±»é¬¼é½çä¸æçæç« ï¼æå 容å±ç°ç»ç¨æ·ï¼èä¸æ¯æç´¢å¼æã
urlè¦æ ååï¼urléæåï¼å¨æåçè½ç¶å¯ä»¥æåï¼ä½ææå¯è½æ²¡æé£ä¹å¥½ã
ç½ç«å°å¾å¶ä½ï¼ç½åå°å¾æ¯ç½ç«å¿ å¤çä¸è¥¿ï¼æ¹ä¾¿ç¨æ·ä¹æ¹ä¾¿æç´¢å¼æçèèæå
robots.txtå¶ä½ï¼å¯¹äºé£äºä¸éè¦è¢«æåçå¯ä»¥ç¨robots.txtæ件éå¶ï¼å ·ä½å¤§å®¶å¯ä»¥æç´¢robots.txtæ件çåæ³ã
页é¢çå¶ä½ï¼å¯¹äºå·²ç»å é¤çæç« åºè¯¥è¿åç¶æï¼å¹¶æ·»å 页é¢åé¦ç»æç´¢å¼æå·²ç»å é¤ãè¿æå ¶ä»ç»èæ¹é¢ç大家å¯ä»¥å¤ççç¸å ³çå 容ã
第äºï¼ç½ç«æ¨å¹¿ä¸äºä¿±å¤åªæ¬ ä¸é£ï¼ç»è¿åé¢çæ¥éª¤ï¼æ们å°è¾¾äºè¿è¥æ¨å¹¿çæ¥éª¤ï¼æ¨å¹¿æ¹å¼æå¾å¤ç§ï¼æ¯å¦è®ºåæ¨å¹¿ï¼QQæ¨å¹¿ï¼ç¾åº¦ç«ä»·ï¼B2Bæ¨å¹¿ççæ ¹æ®èªå·±çæ åµéæ©åéçæ¨å¹¿æ¸ éã
第å ï¼åæä¸å»ç½é©¬ä¸æ¯ä¸å¤©å»ºæçï¼ç½ç»æ¶ä»£è®©æ们å°äºå åæ·¡å®ï¼å¤äºä¸äºæµ®èºãå¤å åçä¿¡æ¯å æ¥çæ们ç大èï¼è®©æ们形æäºæ令å¤çæ¹çä¹ æ¯ï¼ä»å¤©æ³å论åï¼æ天è¦åSNSï¼SNSè¿æ²¡ææ建æåæ³åB2Cï¼è¿å¯ä¸è¡ï¼æ们ççç°å¨åå¨çæææçç½ç«ï¼é½æ¯åæçç»æï¼å¦ææ¾å¼äºï¼å°±ååå°½å¼ï¼æ以åä¸å³å®çæ¶åå°±ä¸å®è¦éæ©å¥½ï¼ä¸æ¦å³å®äºå°±ä¸è¦åæ¹åï¼ç¸ä¿¡èªå·±çå³å®ï¼åæä¸å»ï¼åªè¦æ¹æ³æ£ç¡®ä½ å°±ä¸å®è½å¤æåã
如何在php上限制一个ip一天只能注册个账户,注册多了不允许
思路:获取访问用户ip,查询数据库判断该ip是否可以继续注册新用户
示例
/*** Created by PhpStorm.
* User: Administrator
* Date: //
* Time: :
* 限制一个ip一天只能注册个账户
* 获取访问用户ip,查询数据库判断该ip是否可以继续注册新用户
*/
//获取数据库实例
$dsn = 'mysql:dbname=test;host=.0.0.1';
$user = 'root';
$password = '';
try {
$db = new PDO($dsn, $user, $password,array(PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8"));
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
//获取访问用户ip
$access_user_ip = $_SERVER['REMOTE_ADDR'];
//查询数据库判断该ip是否可以继续注册新用户
$start_time = strtotime(date('Y-m-d'));//今天0点
$end_time = strtotime(date('Y-m-d').' +1 day ');//明天0点
$sth = $db->prepare('select count(*) from user where ip=:ip and created_at>:start_time and created_at<:end_time');
$sth->bindParam(':ip',$access_user_ip);
$sth->bindParam(':start_time',$start_time);
$sth->bindParam(':end_time',$end_time);
$sth->execute();
$count = $sth->fetchColumn();//当前该ip今天注册的用户总数量
if ($count>){
exit('今天,您已注册个新账号了,请明天再来吧');
}
源码放在github上,欢迎点星网页链接