Hi, 闁荤姴娲ˉ鎾斥枍閵夈劊浜归柨鐕傛嫹    闂佺懓鐡ㄩ崹濂搞€呴敃鈧埢鏃堝Ω閵夈儲鏉�
    闂佺ǹ绻愰崢鏍姳椤掑嫬绠i柟瀛樼矋缁拷 | 闂佽壈椴稿濠氭焾閹绢喖绠i柟瀛樼矋缁拷 闂佺鍩栧ú婊勭仚
闁荤姳绀佸ḿ鈥澄涢崼鏇炵閻庯綆鍋呯花姘辩磼閺冩挻瀚�11jn濡ょ姷鍋涢悿鍥€侀幋婢濊鎯旈垾宕囶攨

  • 闂備礁鎲″缁樻叏閹绢喖鐭楅柛婵堟儰uGov,闂備礁鎲¢悷銉╁磹妞嬪海绠旂€光偓閸曨偄鐝樻繝銏f硾妤犳瓕銇愰鐐寸厽闁靛ǹ鍎遍顓熶繆椤愩垻鍩g€规洩绻濋弫鎾绘晸閿燂拷
  • 濠电偛鐡ㄧ划鐘诲礂濞戞氨绠旈柨鐕傛嫹,闂備礁缍婇ˉ鎾诲储瑜旇棟闁圭ǹ楠哥欢鐐烘煥閻曞倹瀚�,婵犵數鍎戠徊楣冩晪闂佹眹鍊曢崐鐟邦嚗閸曨垰鐓涢柛鎰╁妿濮g喐绻涢幋鐐村皑闁稿鎸剧槐鎾诲礃閳轰胶浠告繝鈷€宥咁洭濞存粍鎮傞弫鎾绘晸閿燂拷
  • 闂備浇鍋愰幊鎾存櫠娴犲绠熼柧蹇氼潐鐎氼剟鏌涢幇鍏哥敖闁糕晩鎽╟lick,濠电娀娼чˇ浠嬪磻婵犲伣娑㈠醇閺囩偟顢呴悗鐟板濠㈡﹢鐛埀顒勬⒑缂佹ḿ鐭嗛柛妤佸▕瀹曟娊鏁撻敓锟�
  • 濠电姰鍨介·鍌炲窗濞戭澁缍栭悗锝庡墯閺嗘粓鏌涚仦鍓ь暡缂併劍宀搁弻锝夘敊閼恒儮鎷婚梺瀹狀潐婵槳tr,濠电娀娼чˇ浠嬪磻婵犲伣娑㈠醇閺囩偟顢呴悗鐟板濠㈡﹢鐛埀顒勬⒑缂佹ḿ鐭嗛柛妤佸▕瀹曟娊鏁撻敓锟�
  • 闂備礁缍婇·鍌氼熆閳ь剛绱掓鏍у籍妤犵偛妫濋幃鈺呭箵閹烘柨骞�:濠电偛鐡ㄧ划鐘诲礂濞戞氨绠旈柨鐕傛嫹,闂備礁缍婇ˉ鎾诲储瑜旇棟闁圭ǹ楠哥欢鐐烘煥閻曞倹瀚�,婵犵數鍎戠徊楣冩晪闂佹眹鍊曢崐鐟邦嚗閸曨垰鐓涢柛鎰╁妿濮o拷
  • 闂佽崵濮撮鍛村疮椤栫偞鍋傞柨鐔哄У閻掔粯鎱ㄥ┑鍫氬亾閹跺獪chatong,濠电娀娼чˇ浠嬪磻婵犲伣娑㈠醇閺囩偟顢呴悗鐟板濠㈡﹢鐛埀顒勬⒑缂佹ḿ鐭嗛柛妤佸▕瀹曟娊鏁撻敓锟�
闁诲繒鍋犳ご鎼佸箰婢跺鈻旈幖娣灪閳锋洘绻涢幙鍕 闁哄鍎戠粻鎴︽偤閿燂拷
闂佸憡锚濡銇愰懜鐢碘枖閹兼番鍨洪悗顕€鏌涢弽鍨 闂佽娼欓悘婵嬫偤閿燂拷
  • 婵☆偓绲鹃悧鐘诲Υ閿燂拷
  • 闂佺懓鐡ㄩ崹褰掑春瀹ュ绠i柟瀛樼箥閸熲偓
    • 闂佺ǹ绻愮壕顓㈠春瀹ュ鍤€濞达絿枪鐎b偓婵炲瓨绮i幏锟�
    • 闂佸憡绋戦悘姘叏閵忥紕鈻旈悗锝傛櫇椤忓崬霉閻欏懏瀚�
  • 闂佸搫鑻顓㈡嚄鐏炶В鏌﹂柛锔诲幗绾撅箓姊烘导缈犳喚闁哥偛顭烽幊鐘绘晸閿燂拷
  • 闂傚倸鐗婄敮妤€危椤掆偓閻f繃鎷呯憴鍕暠
    • 闂佺粯鍩堥崣鈧い銏犳嚇濡啴骞掗幋婵嗙憥
    • 婵炲瓨绮岄幖顐﹀春鐏炲墽鈻旀い鎾跺仜鐎b偓

Re: php防止form重复提交的方法

添加时间:14-10-14 所属分类:PHP工具与代码
  上面是完整例题,下面是在网站摘抄,仅供参考

用户提交表单时可能因为网速的原因,或者网页被恶意刷新,致使同一条记录重复插入到数据库中,这是一个比较棘手的问题。我们可以从客户端和服务器端一起着手,设法避免同一表单的重复提交。


1.使用客户端脚本
提到客户端脚本,经常使用的是JavaScript进行常规输入验证。在下面的例子中,我们使用它处理表单的重复提交问题,请看下面的代码:
[code]
<form method="post" name="register" action="test.php" enctype="multipart/form-data">


<input name="text" type="text" id="text" />


<input name="cont" value="提交" type="button" onClick="document.register.cont.value='正在提交,请等待...';document.register.cont.disabled=true;document.the_form.submit();">


</form>[/code]


当用户单击“提交”按钮后,该按钮将变为灰色不可用状态,如图5-6所示。


上面的例子中使用OnClick事件检测用户的提交状态,如果单击了“提交”按钮,该按钮立即置为失效状态,用户不能单击按钮再次提交。


还有一个方法,也是利用JavaScript的功能,但是使用的是OnSubmit()方法,如果已经提交过一次表单,将立即弹出对话框,代码如下:


[code]<script language="javascript">


<!--


var submitcount=0;


function submitOnce (form){


if (submitcount == 0){


submitcount++;


return true;


} else{


alert("正在操作,请不要重复提交,谢谢!");


return false;


}


}


//-->


</script>


<form name="the_form" method="post" action="" onSubmit="return submitOnce(this)">


<input name="text" type="text" id="text" />


<input name="cont" value="提交" type="submit">


</form>
[/code]

在上例中,如果用户已经单击“提交”按钮,该脚本会自动记录当前的状态,并将submitcount变量自加1,当用户试图再次提交时,脚本判断submitcount变量值非零,提示用户已经提交,从而避免重复提交表单。


2.使用Cookie处理
使用Cookie记录表单提交的状态,根据其状态可以检查是否已经提交表单,请见下面的代码:


[code]<?php


if(isset($_POST['go'])){


setcookie("tempcookie","",time()+30);


header("Location:".$_SERVER[PHP_SELF]);


exit();


}


if(isset($_COOKIE["tempcookie"])){


setcookie("tempcookie","",0);


echo "您已经提交过表单";


}


?>
[/code]

如果客户端禁止了Cookie,该方法将不起任何作用,这点请注意。关于Cookie的详细介绍,请参阅第10章“PHP会话管理”。


3.使用Session处理
利用PHP的Session功能,也能避免重复提交表单。Session保存在服务器端,在PHP运行过程中可以改变Session变量,下次访问这个变量时,得到的是新赋的值,所以,可以用一个Session变量记录表单提交的值,如果不匹配,则认为是用户在重复提交,请见如下代码:


[code]<?php


session_start();


//根据当前SESSION生成随机数


$code = mt_rand(0,1000000);


$_SESSION['code'] = $code;


?>[/code]


在页面表单上将随机数作为隐藏值进行传递,代码如下:


[code]<input type="hidden" name="originator" value="<?=$code?>">[/code]


在接收页面的PHP代码如下:


[code]<?php


session_start();


if(isset($_POST['originator'])) {


if($_POST['originator'] == $_SESSION['code']){


// 处理该表单的语句,省略


}else{


echo ‘请不要刷新本页面或重复提交表单!’;


}


}


?>[/code]


关于Session的内容,我们会在第10章“PHP会话管理”详细讨论,你可以直接查阅这一章,然后再返回本节继续阅读。


4.使用header函数转向
除了上面的方法之外,还有一个更简单的方法,那就是当用户提交表单,服务器端处理后立即转向其他的页面,代码如下所示。


[code]if (isset($_POST['action']) && $_POST['action'] == 'submitted') {


//处理数据,如插入数据后,立即转向到其他页面


header('location:submits_success.php');


}
[/code]

这样,即使用户使用刷新键,也不会导致表单的重复提交,因为已经转向新的页面,而这个页面脚本已经不理会任何提交的数据了。


5.8.4 表单过期的处理
在开发过程中,经常会出现表单出错而返回页面的时候填写的信息全部丢失的情况,为了支持页面回跳,可以通过以下两种方法实现。


1.使用header头设置缓存控制头Cache-control。


[code]header('Cache-control: private, must-revalidate'); //支持页面回跳
[/code]

2.使用session_cache_limiter方法。


[code]session_cache_limiter('private, must-revalidate'); //要写在session_start方法之前[/code]


下面的代码片断可以防止用户填写表单的时候,单击“提交”按钮返回时,刚刚在表单上填写的内容不会被清除:


[code]session_cache_limiter('nocache');


session_cache_limiter('private');


session_cache_limiter('public');


session_start();
[/code]

//以下是表单内容,这样在用户返回该表单时,已经填写的内容不会被清空


将该段代码贴到所要应用的脚本顶部即可。


Cache-Control消息头域说明
Cache-Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。


请求时的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh和only-if-cached,响应消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate和max-age。各个消息中的指令含义如表5-3所示。




缓存指令
说 明


public
指示响应可被任何缓存区缓存


private
指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效


no-cache
指示请求或响应消息不能缓存


no-store
用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存


max-age
指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应


min-fresh
指示客户机可以接收响应时间小于当前时间加上指定时间的响应


max-stale
指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息
有关Session和Cookie的介绍,详细内容请参阅第10章“PHP会话管理”。


5.8.5 判断表单动作的技巧
表单可以通过同一个程序来分配应该要处理的动作,在表单中有不同的逻辑,要怎么判别使用者按下的按钮内容不过是个小问题。


其实只要通过提交按钮的name 就可以知道了,表单在提交出去的时候,只有按下的submit类型的按钮才会被送到表单数组去,所以只要判断按钮的值就可以知道使用者按下哪一个按钮,以如下表单为例:


[code]<FORM method="POST" Action=test.php>


<input type=submit name="btn" value="a">


<input type=submit name="btn" value="b">


</FORM>[/code]


当使用者按下“a”按钮的时候btn=a,按下“b”按钮,则btn=b。


另外也可以通过提交按钮的名字(name)来判断,请见如下代码:


[code]<FORM method="POST" Action=test.php>


<input type=submit name="a" value="提交A">


<input type=submit name="b" value="提交B">


</FORM>[/code]


这样只要POST/GET的参数里面有a或b,就可以知道按下的按钮是哪个。


[code]<?php


print_r($_POST);


?>[/code] 婵炴垶鎸搁ˇ閬嶅春瀹ュ绀傞悗锝庡亝閻掑潡鏌ㄥ☉铏闂佺ǹ绻愰悧鎾汇€傞锕€绀嗛柨鐕傛嫹闂佹寧绋戦張顒傜玻閹邦喒鍋撶憴鍕畵闁靛洤顦甸幃顕€顢曢鍌滎槷婵炲瓨绮犻崗娑氱箔閵忋倕鐤柛鈩冾殘閸樻棃鏌ㄥ☉妯绘拱閻庢氨鍋撳鍕潩椤掑鈻兼繛鎴炴尨閸嬫挾绱撻崘鈺佺仸濠⒀嶅娴滄悂鏁撻敓锟�
  • 1
  • 2

前篇:php中get、request和post的使用 后篇:php模拟post提交数据,可用来网站的采集,登陆...
发表我的评论



推荐文章   一家四口30年省吃俭用捐出600多万做公益   20年前济南人的生活才叫生活,现在只能...   妈妈为女儿列相亲预约表 被吐槽像福布斯...   87岁退休教师变卖上海唯一房产 捐建希望...   实用工具或者组件、框架及类库
随机文章   UBB标签转html代码的PHP函数   PHP实现HTML代码转UBB标签   php截取指定字符之间内容的类与实例(含...   国外网页设计网站建设论坛   IBM的PHP教程文章
广告

其他推荐

婵犵數濮烽弫鎼佸磻閻愬唽缂氭繛鍡樺姦濞堢晫绱掔€n厽纭堕柡鍡畵閺屽秹鍩℃担鍛婄亾濠电偛鐪伴崝鎴︽偂椤愶箑鐐婇柕濠忛檮閸庡酣姊洪崫銉ユ毐闁稿鎹囧铏规兜閸涱収妫堥梺瑙勬た娴滎亪鐛箛娑欐櫢闁跨噦鎷� JN5A 闂傚倷绀侀幖顐λ囬柆宥呯?闁圭増婢橀崹鍌涖亜閺嶃劌鐒归柡瀣叄閺屾洝绠涚€n亖鍋撻弴銏″仾濡わ絽鍟悡鏇熺節闂堟稒顥滄い蹇婃櫊閹嘲鈻庡▎鎰伓 闂傚倸鍊风粈渚€骞楀⿰鍫濈獥閹兼番鍔嶉弲婵嬫煥濠靛棙宸濈紒鐘虫煥閵嗘帒顫濋敐鍛闁诲氦顫夊ú鏍偉婵傜ǹ鏋侀柟鍓х帛閺呮悂鏌ㄩ悤鍌涘

闂傚倸鍊烽懗鑸电仚缂備胶绮崝妤冨垝閺冨牊鍊婚柤鎭掑劚閸撶懓鈹戞幊閸婃捇鎳楅崼鏇熷仧闁割偅娲橀悡鐔镐繆閵堝倸浜鹃梺缁橆殔閿曨亪鏁愰悙鍝勫唨妞ゆ挾鍠撻崣鍡椻攽閻愭潙鐏﹂柣鐔濆洢鈧倿宕f径宀€鐦堥梺閫炲苯澧存鐐茬Ч椤㈡瑩宕滆缁辨挳姊绘担鐑樺殌妞ゆ洦鍙冨畷鎴濃槈閳ь兘鍋撻崒鐐茶摕闁靛濡囬崢鎼佹⒑閸撴彃浜濈紒璇茬Т鍗遍柟闂寸劍閻撴洟鏌i幇顒佲枙闁搞倗鍠栭弻宥堫檨闁告挻鐟ラ敃銏ゆ焼瀹ュ懐鐤囬梺鐟板⒔缁烩偓缂傚倹宀搁獮鏍庨鈧悘顏勨攽椤旂晫鐭嬮柕鍥у楠炴帡骞嬪┑鍥唹缂傚倷妞掑鎺楀础閹惰棄钃熼柕鍫濇闂勫嫬顭跨捄渚Ш闁烩晛閰e娲川婵犲嫭鍣ф繝鈷€鍌滅煓闁糕斁鍋撳銈嗗笒閸婂綊宕甸埀顒勬⒑閸濄儱娅忛柛瀣躬楠炲啯瀵肩€涙ê浜滈梺鍛婄☉閿曘倝顢撻幘缁樷拺闁荤喐澹嗘禒銏ゆ倵濮樼厧鏋ょ紒顔肩墛瀵板嫰骞囬鍌炵崜闂備胶绮崹闈浳涘Δ浣规珷闁告瑥顦辩粻楣冩煛婢跺鐏﹂柛鐘筹耿閺岀喖顢涘顒変純濡炪們鍨洪悷鈺呭箖濞嗘搩鏁嗛柛灞剧⊕椤斿繘姊婚崒娆戠獢婵炶壈宕甸幏褰掓偄閻撳海顦柣搴秵閸撴繃鎱ㄩ搹顐犱簻闁瑰搫绉堕ˇ锔姐亜閺囶澀鎲鹃柡宀嬬到铻i柣鎾抽婵箓姊虹粙娆惧剱闁圭懓娲悰顕€骞掑Δ鈧粻濠氭倵閻㈢櫥褰掑吹閸楃偐鏀介柣姗嗗枛閻忛亶鏌涢埡鍌滃⒌闁诡垰鐭傞、娆撴偩鐏炲憡鏁靛┑鐘垫暩婵潙煤閵堝洨涓嶉柟鐑樻尪娴滄粓鏌″鍐ㄥ姎闁逞屽墯椤ㄥ牏鍒掗崼鐔风窞閻庯絽鐏氶鏃堟⒑缂佹ê濮囬柣掳鍔戝鎼佸礋椤撶姷锛滃┑掳鍊愰崑鎾淬亜閿旇棄顥嬬紒顔碱儔楠炴帒螖娴h鐝抽梻浣稿閸嬪懐绮欓崼銉ョ;闁规崘顕х粈鍐┿亜閺冨倸甯堕柣婵嚸—鍐Χ閸℃鐟ㄩ梺绋匡龚瀹曠數鍒掗弮鍥ヤ汗闁圭儤鎸告禒顖炴偡濠婂啰绠荤€规洘鍨甸埥澶愬閻樼數鏆梻浣筋潐瀹曟﹢顢氳缁牓宕掗悙瀵稿幍濡炪倖鐗滈崑娑欑閻楀牏绠鹃柣鎾抽叄閸欏嫰鏌″畝瀣М妤犵偛娲、娆撴寠婢跺鏆氶梻鍌欑缂嶅﹪寮ㄦ潏銊х彾闁糕剝绋戦悞鍨亜閹烘垵鈧綊寮抽埡鍛厵闁惧浚鍋呭畷宀€鈧娲╃徊楣冨Χ閿濆绀冮柍杞扮婢瑰姊绘担铏瑰笡婵☆偄鍟磋棢闁规崘顕х痪褍霉閻樺樊鍎愰柣鎾寸懄閵囧嫰骞嬮鐐差潻濠碘槅鍋呴惄顖濇婵炲鍘ч悺銊╁磻閿濆鐓欓柡澶婄仢椤e磭绱掓担鍝勫幋闁哄苯绉烽¨渚€鏌涢幘瀵告噰鐎规洘鍔欓幃椋庢暜椤斿簱鍋撻崸妤佺厵婵炲牆鐏濋弸銈囩棯妤e啰鐣洪柡宀€鍠愬ḿ蹇涘礈瑜忚摫缂傚倷妞掔欢锟犲闯閿濆拋鍤曢柛顐f礃閸婄兘鏌ら崨濠庡晱婵☆偄瀚板娲川婵犲嫭鍣梺绋款儐閹稿墽鍒掔€n喖绠虫俊銈傚亾闁告劏鍋撻柣鐔哥矊缁绘劙鎮鹃悜绛嬫晬婵綆鍘肩紞濠囧极閹版澘骞㈡俊顖濇閻擃垳绱撻崒娆掑厡濠殿垰顕濠勬崉閵娿儱鐏婂┑鐐叉閸旀洜娆㈤悙鐑樼厱婵炴垶菤閻鏌涚€c劌濮傛慨濠冩そ楠炴劖鎯旈敐鍌涱潔闂備礁鎼悧婊堝礈閻旈鏆︽繝濠傚椤曢亶鏌℃径瀣仸鐎规挸绉瑰娲濞淬劌缍婂畷鎰槈濮樿京鐒奸柣搴秵閸犳鎮¢弴銏㈠彄闁搞儵顥撻崚浼存煕濡儤鎲哥紒杈ㄥ笚椤垿寮借閳峰螖閻橀潧浠﹂柟鐟版喘閻涱噣宕堕澶嬫櫆闂佺硶鍓濆銊х不閺屻儲鈷掑ù锝呮嚈閸︻厽宕查柟閭﹀枤閻捇鏌i幋锝嗩棄闁搞劌鍊块弻娑樼暆閳ь剟宕戝☉姘e亾濮橆剦妲洪柍褜鍓欑粻宥夊磿闁秴绠犻幖鎼厜缂嶆牠鏌曢崼婵愭Ч闁绘挸绻橀弻娑㈠焺閸愮偓鐣堕梺閫炲苯澧柟顔煎€挎俊鎾川闁附鞋缂傚倷绶¢崰妤呮偡閿曗偓椤曘儵宕熼姘獩婵犵數濮存鍛婄濞差亝鈷掑ù锝堟鐢稒銇勯妸銉﹀殗闁诡啫鍕瘈闁稿本鐗滅槐浼存⒑閸撴彃浜栭柛搴や含濞戠敻鍩€椤掑嫭鈷戦柛婵嗗婢跺嫭鎱ㄥΟ绋垮缂侇喗妫冮獮姗€顢欓悾灞藉箥闂佽瀛╃粙鎺戠幓閹稿孩娅犵憸鏂款潖濞差亜鐭楀璺虹灱閻撲胶绱撴担绋库偓鍝ョ矓闂堟稅缂氭い蹇撶墕缁犮儲銇勯弮鍌氫壕闁哥姵甯″缁樻媴缁涘娈愰梺鎼炲妺閸楀啿鐣烽鐐插瀭妞ゆ洖妫滈埀顒佸閵囧嫯绠涢幘璺侯暫闁诲孩鑹鹃ˇ浼村Φ閸曨垰绠抽柟瀛樼妇閸嬫捇鎳¢妶鍥╃厠閻熸粎澧楃敮妤呮偂閺囩喓绠鹃柛鈩兠慨鍥煟韫囧鍔ょ紒杈ㄥ浮瀵噣宕掑顒€绠i梻浣芥〃缁€浣虹矓閼哥數顩烽柨鏇炲€圭€电姴顭跨捄鍝勭槰闁哥偟鎳撻埞鎴︽倷閺夋垹浠搁梺鍦归幗婊堝焵椤掍胶鈻撻柡鍛Т閻g兘鎮烽幍鍐茬墯闂佸壊鍋嗛崰搴♀枔韫囨稒鈷戦柛婵嗗閺嗘瑩鏌涙繝鍌涘仴鐎规洘顨婂畷鎶藉焵閻炵il:atseashawk@163.com闂傚倸鍊烽悞锔锯偓绗涘懐鐭欓柟杈剧畱鐎氬銇勯幒鎴濐仼闁搞劌鍊圭换婵囩節閸屾粌顣虹紓鍌欒閺呯娀骞冭ぐ鎺戜紶闁告洦鍓氶崕鎾绘⒑缂佹ɑ灏柛濠傛健瀵鎮㈢喊杈ㄦ櫓闂佸憡绻傜€氼剟鈥栫€n亖鏀介柣鎰皺婢ф盯鏌涢妸銉﹀仴鐎殿喖顭峰畷銊╊敇瑜庨崓鐢告煛婢跺﹦澧愰柡鍛☉椤曪綁濡搁埡鍌楁嫼闂佸憡绋戦敃銊︾珶濡偐纾奸柕濞垮妼娴滆淇婇崣澶婂妤犵偛绉归、娆撴嚒閵堝懎鈷曢梻鍌欒兌绾爼宕滃┑瀣ㄢ偓鍐川椤撗冩闂佺懓澧界划顖炴偂濞嗗劲搴ㄥ炊瑜嶉懜褰掓煃瑜滈崜姘辨崲閸岀偛鐓濈€广儱妫欓崕鐔兼煏婵犲繘妾繛鍛墵閹宕楁径濠佸闂備礁鎲¢崝锕傚窗濡ゅ懎鐓濆┑鍌氭啞閻撶喖鏌eΟ鐑樷枙闁稿骸鐭傞弻娑氣偓锝庡亝瀹曞矂鏌涢埞鎯т壕婵$偑鍊栫敮鎺楁晝閵壯€鍋撳鐐 因为本站所有内容均转载自其它媒体,本意为公众提供免费服务,但并不代表本网赞同其观点,也不能对其真实性验证负责,如稿件版权单位或个人不想在本网发布,请与我联系,本人会立即将其撤除,谢谢.联系方式:atseashawk@163.com QQ:99289555