php HTTP_REFERER模仿代码(1/2)
<?php教程
if (!isset($_server["http_referer"]))
echo "no referer";
else
echo $_server["http_referer"];
?>
如果直接点击上面的链接,那么页面会显示referer页面的链接。
复制代码 代码如下:
set http = createobject("msxml2.xmlhttp")
http.open "get","http://www.111cn.net/test/referer.php",false
http.setrequestheader "referer","http://www.111cn.net"
http.send
wscript.echo http.responsetext
但是如果我用vbs调用msxml2.xmlhttp组件访问这个页面,返回的却是no referer。实在匪夷所思,难道我的代码写错了?
于是google了一下“vbs伪造http referer”,发现搜出来的内容大部分和这篇文章一样,不用看又是复制粘贴,你抄我的,我抄你的,抄来抄去不知道到底是谁的,而且还是错的!
那篇文章第一个例子是asp教程的
复制代码 代码如下:
dim http
set http=server.createobject("msxml2.xmlhttp")
http.open "get",url,false
http.setrequestheader "referer","http://www.fromdomain.cn/"
http.send()
开始我还以为asp下的vbs和我直接双击运行的vbs不一样,asp下的比较牛逼,可以改referer。为此我还专门装了iis测试,发现返回的照样是no referer。后来才看到下面的留言,“原谅我对asp不熟,给不了你什么帮助,自己查点其他资料参考一下吧”,“这我没怎么玩asp了,代码只是参考来的,asp的没测试过”。
我真的不想骂人,不熟你写也就算了,起码测试一下吧,没有测试过的代码你也好意思贴上来?后来在千一网络(这个网络貌似不错)看到一个比较靠谱的答案,referer在asp和ajax中是无法通过设置header来更改的。
怒了,既然xmlhttp组件不行,我用socket来写总行了吧!(注:不是所有电脑上都注册了winsock组件)
简单的说
memcache是总的缓存系统项目名称,容易和php教程中的memcache混淆。
我们常提到memcache其实是php中的memcache,即php的memcached扩展支持。
我们常提到memcached是服务端主程序文件,服务端安装程序。
为了让你的程序飞起来,必须安装memcached服务端程序和php的memcached扩展,所以如果您要使用memcache来缓存系统,memcache和memcached两样我们都需要安装。
安装memcache
# cd /usr/local/src
# wget http://pecl.php.net/get/memcache-2.2.5.tgz
# gzip -d memcache-2.2.5.tgz
# tar xvf memcache-2.2.5.tar
# cd memcache-2.2.5
以下几句,是以php所在目录为/usr/local/php为例,如果您的php有变化,请自行替换几句中/usr/local/php的部分
# /usr/local/php/bin/phpize
# ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
# make && make install
将memcache加入php扩展
# vi /etc/php.ini(/etc/php.ini地址为我的php.ini位置,如果你不知道你的php.ini在哪里,可以用# find / -name php.ini进行查找,或者传个探针phpinfo,找到configuration file (php.ini) path)中php.ini的位置.
末尾加入
按键盘上的 i 开始编辑
ctrl+f翻页拉到最下面在[zend]之前加入
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
extension=memcache.so
按esc键,再输入
:wq
保存退出
重启你的web服务器,比如apache
/etc/init.d/httpd restart
下面刷新下php探针,看下是不是有这个了,有的话就是装好了
memcache
version 2.2.5memcache
version 2.2.5
下面安装memcached
装memcached首先需要安装安装libevent
如果是centos可以yum安装
# yum install libevent-devel
如果不支持yum的系统,可以这样装libevent
# cd /usr/local/src
# wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz
# tar vxf libevent-1.4.12-stable.tar.gz
# cd libevent-1.4.12
# ./configure --prefix=/usr/local/libevent
# make && make install
接续安装memcached
# cd /usr/local/src
# wget http://cloud.github.com/downloads/saberma/saberma.github.com/memcached-1.4.4.tar.gz
# tar vxf memcached-1.4.4.tar.gz
# cd memcached-1.4.4
# ./configure --prefix=/usr/local/memcached
# make && make install
安装完后启动memcached并分配32m内存(32为使用内存数,可按自身情况修改)
/usr/local/memcached/bin/memcached -d -m 32 -l 127.0.0.1 -p 11211 -u root
将memcached加入启动项
# vi /etc/rc.d/rc.local
按键盘上的 i 开始编辑
在最后加入
/usr/local/memcached/bin/memcached -d -m 32 -l 127.0.0.1 -p 11211 -u root
按esc键,再输入
:wq
保存退出
如果需要,可以reboot一下,不过不用reboot应该已经生效~
加速效果测试
用没有什么负载的discuz x1做个测试,未启用时
gmt+8, 2010-9-12 09:08, processed in 0.038893 second(s), 2 queries.
缓存启用后的效果,不过总体感觉vps教程上效果不如用eaccelerato缓存加入效果那么明显
gmt+8, 2010-9-12 09:08, processed in 0.008383 second(s), 2 queries, memcache on.
完成
下面安装memcached
装memcached首先需要安装安装libevent
如果是centos可以yum安装
# yum install libevent-devel
如果不支持yum的系统,可以这样装libevent
# cd /usr/local/src
# wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz
# tar vxf libevent-1.4.12-stable.tar.gz
# cd libevent-1.4.12
# ./configure --prefix=/usr/local/libevent
# make && make install
接续安装memcached
# cd /usr/local/src
# wget http://cloud.github.com/downloads/saberma/saberma.github.com/memcached-1.4.4.tar.gz
# tar vxf memcached-1.4.4.tar.gz
# cd memcached-1.4.4
# ./configure --prefix=/usr/local/memcached
# make && make install
安装完后启动memcached并分配32m内存(32为使用内存数,可按自身情况修改)
/usr/local/memcached/bin/memcached -d -m 32 -l 127.0.0.1 -p 11211 -u root
将memcached加入启动项
# vi /etc/rc.d/rc.local
按键盘上的 i 开始编辑
在最后加入
/usr/local/memcached/bin/memcached -d -m 32 -l 127.0.0.1 -p 11211 -u root
按esc键,再输入
:wq
保存退出
如果需要,可以reboot一下,不过不用reboot应该已经生效~
加速效果测试
用没有什么负载的discuz x1做个测试,未启用时
gmt+8, 2010-9-12 09:08, processed in 0.038893 second(s), 2 queries.
缓存启用后的效果,不过总体感觉vps上效果不如用eaccelerato缓存加入效果那么明显
gmt+8, 2010-9-12 09:08, processed in 0.008383 second(s), 2 queries, memcache on.
完成
从当前文件夹添加全部 *.hlp 文件到压缩文件 help.rar 中
winrar a help *.hlp
从文件添加注释可以使用 -z<文件> 开关。
winrar c -zinfo.txt dummy
这样,我们就可以通过php教程调用cmd,运行上述两个winrar参数来做到批量修改rar文件的注释及添加压缩包的文件.需要注意的是,php在安全模式打开的情况下是不能直接调用cmd的.
下面的代码就是我通过我的数据库教程读取出文件路径并最终实现批量修改rar文件注释的方法.因为数据库是access,我新建了一个odbc源.同时rar.exe及cmd.exe都在1.php同目录下
<?
$id=$_get[id];
if($id==”")
{
echo “参数错误”;
exit;
}
if($id>=400)
{
echo “全部结束”;
exit;
}
$db=odbc_connect(”dw”,”",”");
$sql=”select * from `download` where `id`=$id”;
$query=odbc_exec($db,$sql);
$filename=odbc_result($query,2);
if($filename==”")
{}
$filename=str_replace(”#1′,”",$filename);
$filename=str_replace(”#2′,”",$filename);
$filename=”soft/”.$filename;
echo $filename.”<br>”;
if(!file_exists($filename))
{
echo “文件不存在,转到下一个id”;
$id++;
echo “<meta http-equiv=’refresh’content=’0;url=../test/1.php?id=$id’>”;
exit;
}//读出文件名,并检查文件是否存在
else
{
`winrar a $filename 使用说明.txt`;
echo “插入说明文件成功”;
$id++;
echo “<meta http-equiv=’refresh’ content=’0;url=../test/1.php?id=$id’>”;
}
odbc_close($db);
?>
××××××××××××××××××××
最近采集流行,可能许多朋友都尝试通过采集数据来建设一个内容丰富完善的站点.
可是,在某些时候我们通常采集得到的rar文件都被批量加了注释,这个时候如果将这些数据放到自己的站上无异于为人家做广告.
最近我也碰到了这样的问题,为此大伤脑筋,后来仔细的翻看winrar的帮助文件发现我们可以通过下面的方法来做到批量修改.
我们打开winrar的帮助文件,帮助文件中提到了在命令行模式下修改rar文件注释及添加压缩文档的两个参数分别为ac,winrar的说明文件如下:
从当前文件夹添加全部 *.hlp 文件到压缩文件 help.rar 中
winrar a help *.hlp
从文件添加注释可以使用 -z<文件> 开关。
winrar c -zinfo.txt dummy
下面只是简单的逻辑结构,对于正式的系统需要做具体的处理。
这里需要注意的是:加解密一定需要做安全验证。但是这个方法也不够完美,两个站点必须有相同一级域名;另外这种完全基于cookie的方式,安全性不够高
function login()
{
$info = callloginserver(); //访问登录服务器
if(!empty($info)) //登录成功了
}
//用户没有登录,则在本系统中登录并调用登录服务器接口
function login() //正常的登录
{
.......//验证用户的合法性
$_session['uid'] = $user_id;
setcookie('sign', encrypt($pass9), '', '/', 'the.com');
}
先检查用户是否在登录系统中登录
funtion sign()
{
$sign = $_cookie['sign'];
if(!empty($sign))
{
$sign = decrypt($sign);
..........///登录成功
}
}
用户没有登录,则在本系统中登录并调用登录服务器接口
function loging() //本系统登录
{
.....//登录成功
callseverlogin();//通知用户登录}
所有的站点共享一个登录系统;当用户在其中的一个站点登录成功时, 该系统调用其他站点的登录接口,完成用户在其他站点的登录,同时设置相应的登录信息;或者在用户登录时,只在该系统保存用户登录信息,当用户在其他站点登录时,必须请求该系统接口,获取用户是否登录的信息。前一种方式的缺点是:不管用户有没有使用其他站点,那些站点都需要保存用户状态;后一种方式就把所有的压力都转移到登录系统上面来。而如果要实现用户退出的统一操作,就需要站点调用登录系统的退出接口,然后登录系统接口调用其他站点的退出接口;或者设置一个标记,如果这个标记不存在则标示用户退出,此时只要把该标示清空即可,其他站点发现该标示不存在就知道用户已经退出系统。
这种处理方式需要在登录系统和个站点之间规定登录接口,和注销接口。通过这些接口,个站点可以很方便的处理用户登录或退出:
两款超php教程分页类代码
<?php
/**
* description:超强分页类,四种分页模式,默认采用类似baidu,google的分页风格。
* 2.0增加功能:支持自定义风格,自定义样式,同时支持php4和php5,
* example:
* 模式四种分页模式:
* require_once('../libs/classes/page.class.php');
* $page=new page(array('total'=>1000,'perpage'=>20));
* echo 'mode:1<br>'.$page->show();
* echo '<hr>mode:2<br>'.$page->show(2);
* echo '<hr>mode:3<br>'.$page->show(3);
* echo '<hr>mode:4<br>'.$page->show(4);
* 开启ajax:
* $ajaxpage=new page(array('total'=>1000,'perpage'=>20,'ajax'=>'ajax_page','page_name'=>'test'));
* echo 'mode:1<br>'.$ajaxpage->show();
*/
class page
{
/**
* config ,public
*/
var $page_name="page";//page标签,用来控制url页。比如说xxx.php?page=2中的page
var $next_page='>';//下一页
var $pre_page='<';//上一页
var $first_page='first';//首页
var $last_page='last';//尾页
var $pre_bar='<<';//上一分页条
var $next_bar='>>';//下一分页条
var $format_left='[';
var $format_right=']';
var $is_ajax=false;//是否支持ajax分页模式
/**
* private
*
*/
var $pagebarnum=10;//控制记录条的个数。
var $totalpage=0;//总页数
var $ajax_action_name='';//ajax动作名
var $nowindex=1;//当前页
var $url="";//url地址头
var $offset=0;
/**
* constructor构造函数
*
* @param array $array['total'],$array['perpage'],$array['nowindex'],$array['url'],$array['ajax']
*/
function page($array)
{
if(is_array($array)){
if(!array_key_exists('total',$array))$this->error(__function__,'need a param of total');
$total=intval($array['total']);
$perpage=(array_key_exists('perpage',$array))?intval($array['perpage']):10;
$nowindex=(array_key_exists('nowindex',$array))?intval($array['nowindex']):'';
$url=(array_key_exists('url',$array))?$array['url']:'';
}else{
$total=$array;
$perpage=10;
$nowindex='';
$url='';
}
if((!is_int($total))||($total<0))$this->error(__function__,$total.' is not a positive integer!');
if((!is_int($perpage))||($perpage<=0))$this->error(__function__,$perpage.' is not a positive integer!');
if(!empty($array['page_name']))$this->set('page_name',$array['page_name']);//设置pagename
$this->_set_nowindex($nowindex);//设置当前页
$this->_set_url($url);//设置链接地址
$this->totalpage=ceil($total/$perpage);
$this->offset=($this->nowindex-1)*$this->perpage;
if(!empty($array['ajax']))$this->open_ajax($array['ajax']);//打开ajax模式
}
/**
* 设定类中指定变量名的值,如果改变量不属于这个类,将throw一个exception
*
* @param string $var
* @param string $value
*/
function set($var,$value)
{
if(in_array($var,get_object_vars($this)))
$this->$var=$value;
else {
$this->error(__function__,$var." does not belong to pb_page!");
}
}
/**
* 打开倒ajax模式
*
* @param string $action 默认ajax触发的动作。
*/
function open_ajax($action)
{
$this->is_ajax=true;
$this->ajax_action_name=$action;
}
/**
* 获取显示"下一页"的代码
*
* @param string $style
* @return string
*/
function next_page($style='')
{
if($this->nowindex<$this->totalpage){
return $this->_get_link($this->_get_url($this->nowindex+1),$this->next_page,$style);
}
return '<span class=".$style.">'.$this->next_page.'</span>';
}
/**
* 获取显示“上一页”的代码
*
* @param string $style
* @return string
*/
function pre_page($style='')
{
if($this->nowindex>1){
return $this->_get_link($this->_get_url($this->nowindex-1),$this->pre_page,$style);
}
return '<span class=".$style.">'.$this->pre_page.'</span>';
}/**
* 获取显示“首页”的代码
*
* @return string
*/
function first_page($style='')
{
if($this->nowindex==1){
return '<span class=".$style.">'.$this->first_page.'</span>';
}
return $this->_get_link($this->_get_url(1),$this->first_page,$style);
}/**
* 获取显示“尾页”的代码
*
* @return string
*/
function last_page($style='')
{
if($this->nowindex==$this->totalpage){
return '<span class=".$style.">'.$this->last_page.'</span>';
}
return $this->_get_link($this->_get_url($this->totalpage),$this->last_page,$style);
}
function nowbar($style='',$nowindex_style='')
{
$plus=ceil($this->pagebarnum/2);
if($this->pagebarnum-$plus+$this->nowindex>$this->totalpage)$plus=($this->pagebarnum-$this->totalpage+$this->nowindex);
$begin=$this->nowindex-$plus+1;
$begin=($begin>=1)?$begin:1;
$return='';
for($i=$begin;$i<$begin+$this->pagebarnum;$i++)
{
if($i<=$this->totalpage){
if($i!=$this->nowindex)
$return.=$this->_get_text($this->_get_link($this->_get_url($i),$i,$style));
else
$return.=$this->_get_text('<span class=".$nowindex_style.">'.$i.'</span>');
}else{
break;
}
$return.="n";
}
unset($begin);
return $return;
}
/**
* 获取显示跳转按钮的代码
*
* @return string
*/
function select()
{
$return='<select name="pb_page_select" >';
for($i=1;$i<=$this->totalpage;$i++)
{
if($i==$this->nowindex){
$return.='<option value="'.$i.'" selected>'.$i.'</option>';
}else{
$return.='<option value="'.$i.'">'.$i.'</option>';
}
}
unset($i);
$return.='</select>';
return $return;
}
/**
* 获取mysql教程 语句中limit需要的值
*
* @return string
*/
function offset()
{
return $this->offset;
}
/**
* 控制分页显示风格(你可以增加相应的风格)
*
* @param int $mode
* @return string
*/
function show($mode=1)
{
switch ($mode)
{
case '1':
$this->next_page='下一页';
$this->pre_page='上一页';
return $this->pre_page().$this->nowbar().$this->next_page().'第'.$this->select().'页';
break;
case '2':
$this->next_page='下一页';
$this->pre_page='上一页';
$this->first_page='首页';
$this->last_page='尾页';
return $this->first_page().$this->pre_page().'[第'.$this->nowindex.'页]'.$this->next_page().$this->last_page().'第'.$this->select().'页';
break;
case '3':
$this->next_page='下一页';
$this->pre_page='上一页';
$this->first_page='首页';
$this->last_page='尾页';
return $this->first_page().$this->pre_page().$this->next_page().$this->last_page();
break;
case '4':
$this->next_page='下一页';
$this->pre_page='上一页';
return $this->pre_page().$this->nowbar().$this->next_page();
break;
case '5':
return $this->pre_bar().$this->pre_page().$this->nowbar().$this->next_page().$this->next_bar();
break;
}
}
/*----------------private function (私有方法)-----------------------------------------------------------*/
/**
* 设置url头地址
* @param: string $url
* @return boolean
*/
function _set_url($url="")
{
if(!empty($url)){
//手动设置
$this->url=$url.((stristr($url,'?'))?'&':'?').$this->page_name."=";
}else{
//自动获取
if(empty($_server['query_string'])){
//不存在query_string时
$this->url=$_server['request_uri']."?".$this->page_name."=";
}else{
//
if(stristr($_server['query_string'],$this->page_name.'=')){
//地址存在页面参数
$this->url=str_replace($this->page_name.'='.$this->nowindex,'',$_server['request_uri']);
$last=$this->url[strlen($this->url)-1];
if($last=='?'||$last=='&'){
$this->url.=$this->page_name."=";
}else{
$this->url.='&'.$this->page_name."=";
}
}else{
//
$this->url=$_server['request_uri'].'&'.$this->page_name.'=';
}//end if
}//end if
}//end if
}
/**
* 设置当前页面
*
*/
function _set_nowindex($nowindex)
{
if(empty($nowindex)){
//系统获取
if(isset($_get[$this->page_name])){
$this->nowindex=intval($_get[$this->page_name]);
}
}else{
//手动设置
$this->nowindex=intval($nowindex);
}
}
/**
* 为指定的页面返回地址值
*
* @param int $pageno
* @return string $url
*/
function _get_url($pageno=1)
{
return $this->url.$pageno;
}
/**
* 获取分页显示文字,比如说默认情况下_get_text('<a href="">1</a>')将返回[<a href="">1</a>]
*
* @param string $str
* @return string $url
*/
function _get_text($str)
{
return $this->format_left.$str.$this->format_right;
}
/**
* 获取链接地址
*/
function _get_link($url,$text,$style=''){
$style=(empty($style))?'':'class="'.$style.'"';
if($this->is_ajax){
//如果是使用ajax模式
return '<a '.$style.' href="网页特效:'.$this->ajax_action_name.'(''.$url.'')">'.$text.'</a>';
}else{
return '<a '.$style.' href="'.$url.'">'.$text.'</a>';
}
}
/**
* 出错处理方式
*/
function error($function,$errormsg)
{
die('error in file <b>'.__file__.'</b> ,function <b>'.$function.'()</b> :'.$errormsg);
}
}
?>
代码二
/**
* 获取页码导航html
* @param $pagenum:当前页码
* @param $pagesize:每页数量
* @param $rowcount:记录总数
* @param $navurl:链接页面url
*/
function getnavhtml($pagenum,$pagesize,$rowcount,$navurl){
$pagecount = (int)($rowcount/$pagesize); //总页数
if ($rowcount % $pagesize >0){
$pagecount++;
}
if ($pagenum>$pagecount){
$pagenum = 1;
}
$firstnav = "<a href="{$navurl}page=1">首页</a> ";
$lastnav = "<a href="{$navurl}page={$pagecount}">尾页</a> ";
$prevnav="";
$nextnav="";
if ($pagenum>1){
$navpagenum = $pagenum-1;
$prevnav = "<a href="{$navurl}page={$navpagenum}">上一页</a> ";
}
if ($pagenum<$pagecount && $pagecount>1){
$navpagenum = $pagenum+1;
$nextnav = "<a href="{$navurl}page={$navpagenum}">下一页</a> ";
}
$amongnav="";//关键循环
for ($i=1;$i<=5;$i++){
$navpagenum = $pagenum+ $i-3;
if ($navpagenum>0 && $navpagenum<=$pagecount){
$navcss教程 = $navpagenum == $pagenum?" class="hover"":"";
$amongnav.="<a href="{$navurl}page={$navpagenum}" $navcss>{$navpagenum}</a> ";
}
}
return $firstnav.$prevnav.$amongnav.$nextnav.$lastnav." ".$pagenum."/".$pagecount." 共有[".$rowcount."]条数据";
}
}
相关文章
- 这篇文章主要介绍了C#实现简单的Http请求的方法,以实例形式较为详细的分析了C#实现Http请求的具体方法,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
- 有一种方法,可以不打开网站而直接查看到这个网站的源代码.. 这样可以有效地防止误入恶意网站... 在浏览器地址栏输入: view-source:http://...2016-09-20
- PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
- <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
- 这篇文章主要介绍了Java如何发起http请求的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-31
- 这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
- 本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
C#使用Http Post方式传递Json数据字符串调用Web Service
这篇文章主要为大家详细介绍了C#使用Http Post方式传递Json数据字符串调用Web Service,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25解决Feign切换client到okhttp无法生效的坑(出现原因说明)
这篇文章主要介绍了解决Feign切换client到okhttp无法生效的坑(出现原因说明),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-25完美解决SpringCloud-OpenFeign使用okhttp替换不生效问题
这篇文章主要介绍了完美解决SpringCloud-OpenFeign使用okhttp替换不生效问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-25- 本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
- 本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
- php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
- php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p> </p> <p> </p> <form name="form1...2016-11-25
- 这篇文章主要介绍了解决Java处理HTTP请求超时的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-29
- 公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
- 本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
- 其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
- index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06