欢迎大家踊跃参与,为php争光

解决方案 »

  1.   

    这个所谓的纯JS验证其实服务器端也有验证的,只不过利用了PHP内置的处理而已,就是不用你自己写代码来验证数字了。
      

  2.   

    那你看能不能绕过这个验证咯。我觉得即使用php也不能防止外部提交吧。他这个主要是要我们来进行外部提交。至于说那个php文件的地址不能被看到,那是下一回合他要做的事情。
      

  3.   

    json_decode处理的问题,that's all//这是一个正常的json字串
    var o={data:'ff'};
    alert(o.data);//但是php的json_decode解析出来为null
    $s = "{data:'ff'}";
    $o=json_decode( $s , true );
    print_R($o);
      

  4.   

    既然服务器端的json_decode已经过滤了非数字的提交内容,那么,所谓绕开验证就是要绕开json_decode你是否认为php的json_decode有漏洞可以利用呢。
      

  5.   

    <?php
    //require_once("iecho.php");$host = "localhost"; $file = "/test/t2.php";
    $host = "shop10.seedit.com"; $file = "/ajaxserver/test.php";
    $fp = fsockopen( $host , 80, $errno, $errstr, 1);if (!$fp) {
        echo "$errstr ($errno)<br />\n";
    } else {
    $out = "POST $file HTTP/1.1\r\n".
    "Host: $host\r\n".
    "Content-Length: 11\r\n".
    "Connection: Close\r\n".
    "Cache-Control: no-cache\r\n\r\n".
    "{\"data\":56}";
        fwrite($fp, $out);
    while (!feof($fp))
    {
        echo fgets($fp, 128);    
    }
        fclose($fp);
    }?>
      

  6.   

    他们说你没看懂json。json不会不能提交非数字的。他已经改成非数字的了,你再试能不能提交数字吧。
      

  7.   

    php改成这样了:<?php
    $inpObj = json_decode( $HTTP_RAW_POST_DATA );
    if($inpObj->data){
        echo "{redata:'".$inpObj->data."'}";
    }
    ?>
      

  8.   

    ajax提交到服务端验证了,这已经不是纯客户端验证了
      

  9.   

    如果只单纯JS,禁用了JS, 表单也会提交啊
      

  10.   

    现在碰到障碍的是ajax不能跨域提交 网上找到这句目前不能在ie和firefox里运行成功
       netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");  ----------------  而且这个并不能说明js验证是安全的。
      在网络上完全可能中途截取报文并转发,如果中途篡改报文内容,js验证无论如何是防止不了的,
      需要找网络高手来绕~~ 
      

  11.   

    <?php
    //require_once("iecho.php");$host = "localhost"; $file = "/test/t2.php";
    $host = "shop10.seedit.com"; $file = "/ajaxserver/test.php";
    $fp = fsockopen( $host , 80, $errno, $errstr, 1);if (!$fp) {
        echo "$errstr ($errno)<br />\n";
    } else {
    $out = "POST $file HTTP/1.1\r\n".
    "Host: $host\r\n".
    "Content-Length: 13\r\n".
    "Connection: Close\r\n".
    "Cache-Control: no-cache\r\n\r\n".
    "{\"data\":\"fs\"}";
        fwrite($fp, $out);
    while (!feof($fp))
    {
        echo fgets($fp, 128);    
    }
        fclose($fp);
    }?>
      

  12.   

    ……
    没用过JSON也没看过不知道模拟提交后服务器端怎么实现
      

  13.   

    还JS高手,JS能做什么,JS做不了什么,他究竟懂不懂?
      

  14.   

    只是JS脚本验证?服务器端就不验证了?如果只用JS验证,100%不可靠!等K吧……
      

  15.   

    ajax post数据而已,这又能表示什么呢?要看不到地址的话…………<script>
    function clear(){
    Sourcecode=document.body.firstChild.data;
    document.open();
    document.close();
    document.title="";
    document.body.innerHTML=Sourcecode;
    }</script>
    <body onload=clear()>
    我在哪?
    </body>
      

  16.   

    我只想问他说的是clientsidejavascript还是serversidejavascript?呵呵
      

  17.   

    对方改过了,:http://shop10.seedit.com/1.htm
    现在连js函数也看不到了。大家看看能不能抓出那个js函数来
      

  18.   

    http://shop10.seedit.com/ajaxserver/rjs.php
      

  19.   

    http://shop10.seedit.com/js/ajax.js-------------------------------
    function ajax(){
    this.reObj = null
    this.request = false;
    this.sendStr = " "
    this.url = ""
    this.actFunc = false
    this.regFuncs = new Array;
    this.noAct = true;
    this.pollSto = false
    }
    ajax =new ajax;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        ajax.request = new XMLHttpRequest();
        if (ajax.request.overrideMimeType) {
             ajax.request.overrideMimeType('text/plain');
         }
    } else if (window.ActiveXObject) { // IE
         try {
    ajax.request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
             try { ajax.request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
         }
    }else{
    alert("XMLHTTP鍒濆鍖栧け璐?);
    }   function ajaxRequest() {
            ajax.request.open('POST', ajax.url, true);
        ajax.request.onreadystatechange = getRequest;
            ajax.request.send(ajax.sendStr);
       } function getRequest(){
    if (ajax.request.readyState == 4) {
    if (ajax.request.status == 200) {
    //alert(ajax.request.responseText)
    if(ajax.request.responseText)
    ajax.reObj = eval("("+ajax.request.responseText+")");
    try{ if(ajax.regFuncs.length>0) ajax.regFuncs.shift() }catch(e){}
    if( ajax.actFunc ) ajax.actFunc.call()
    ajax.noAct = true;
    }
    }
        }    function regFunc(func){
    ajax.regFuncs.push(func)
    if( !ajax.pollSto ) pollFunc()
    } function pollFunc(){
    len = ajax.regFuncs.length
    if(len<1){
    clearTimeout(ajax.pollSto)
    ajax.pollSto = false
    return false
    }else if(len>0 && ajax.noAct){
    ajax.noAct = false;
    ajax.regFuncs[0].call()
    }
    ajax.pollSto = setTimeout("pollFunc()",500)
    } function $(id){
    return document.getElementById(id);
     }
     function $n(name){
    return document.getElementsByName(name)[0];
     }
     function $t(tagName){
    return document.getElementsByTagName(tagName);
     }  function get_get(){
    thisUrl = window.location.href;
    isPHP = thisUrl.search(/\.php/ig);
    if(isPHP>0){
    querystr = thisUrl.split("?")
    if(querystr[1]){
    GETs = querystr[1].split("&")
    GET =new Array()
    for(i=0;i<GETs.length;i++){
    tmp_arr = GETs[i].split("=")
    key=tmp_arr[0]
    GET[key] = tmp_arr[1]
    }
    }
    }else{
    GETs = thisUrl.split("-")
    gLen = GETs.length
    GETs[gLen-1] = GETs[gLen-1].replace(/^(.+)\.html?[^\.]*$/gi,"$1");
    GET =new Array()
    for(i=1;i<gLen;i++){
    key = GETs[i].replace(/^([^\d]+)\d*$/g,"$1")
    GET[key] = GETs[i].replace(/^[^\d]+(\d*)$/g,"$1")
    }
    }
      }
      get_get() function isLogin(){
    var Login = $("login");
    var Loged = $("loged");
    if(getCookie("seedeid")){
     Loged.style.display="block"
     Login.style.display="none"
     $("loguser").innerHTML = decodeURI(getCookie("seeduser"))
    }else{
     Loged.style.display="none"
     Login.style.display="block"
    } } function CheckLogin(){
    errAlt = {
    0 : "",
    1 : "楠岃瘉鐮侀敊璇紝鐧婚檰澶辫触",
    2 : "璇ョ敤鎴峰凡鏆傛椂琚攣瀹?鏃犳硶鐧婚檰锛?,
    3 : "瀵嗙爜閿欒锛岃閲嶆柊杈撳叆锛?,
    4 : "鐢ㄦ埛鍚嶉敊璇垨鏃犳鐢ㄦ埛鍚嶏紒"
    }
    reStr = '{'
    $("chkcode").value = $("chkcode").value.cn2num()
    arr1 = [$("username"),$("password"),$("chkcode")]
    arr2 = ["鐢ㄦ埛鍚?,"瀵嗙爜","楠岃瘉鐮?]
    for(i in arr1){
      if(arr1[i].value==""){
         alert("璇疯緭鍏?+arr2[i]+"锛?);  arr1[i].focus();  return false;
      }
      reStr += '"' + arr1[i].id + '":"' + arr1[i].value + '",'
    }
    ajax.sendStr = reStr.substr(0,reStr.length-1) + '}' ajax.url = "ajaxserver/login.php";
    ajax.actFunc = loginAct
    ajaxRequest()
    return false
     }  function loginAct(){
    if(ajax.reObj["islogin"]==1){
    Seeduid = ajax.reObj["Seeduid"]
    isLogin()
    }
    eCode = ajax.reObj["errCode"]
    if(eCode>0)   alert( errAlt[eCode])
        return false
      }  function logout(){
       Seeduid = 0
    setCookie("seeduser","","seedit.com")
    setCookie("seeduid","","seedit.com")
    setCookie("seedeid","","seedit.com")
    setCookie("seedgid","","seedit.com");
    setCookie("siller","","seedit.com");
    isLogin();
      }  function chgChkcode(){
     var d = new Date();
       var t = d.getTime();
     var ccimg = $("chkCodeimg")
     ccimg.src = "includes/chk_num.php?t="+t
     try{
      ccimg1 = $("chkCodeimg1")
      ccimg1.src = "includes/chk_num.php?t="+t
    ccimg.src = ccimg1.src
     }catch(e){}
      } function getCookie(cname){
    try{
    var re = eval("/"+cname+"=([^;]+)/ig")
      return re.exec(document.cookie)[1]
    }catch(e){ return false }
     }  function setCookie(name,value,domain){
      domainStr = (domain) ? "; domain=" + domain : ""
      var d =new Date
      d.setDate( d.getDate() + 7 )
      document.cookie = name + "=" + value + "; expires=" + d.toGMTString() + "; path=/" + domainStr
     }
     String.prototype.cn2num=function(){
    var str = this.toString()
    var slen = str.length
    var cns = { "锛?:0, "锛?:1, "锛?:2, "锛?:3, "锛?:4, "锛?:5, "锛?:6, "锛?:7, "锛?:8, "锛?:9 }
    var re =new RegExp
    re.compile("([锛愶紤锛掞紦锛旓紩锛栵紬锛橈紮])")
    for( i=0; i<=slen; i++ ){
    var chr = str.charAt(i);
    if(chr.match(re))
    str = str.replace(chr,cns[chr]);
    }
    return str;
     }
     
      function setSch(){
        oInput=$("kwd");
         ooInput = $('ser_b');
         oInput.value = Default_text = "<-- 鍦ㄦ閿叆鎮ㄨ鎼滅储鐨勫晢鍝佸悕绉版垨鑰匢D";
         oInput.className = "onblur"
         oInput.onfocus = schFocus
        oInput.onblur = schBlur
     ooInput.onmouseover = oInput.onmouseover = function(){  this.style.borderColor = "9ECC00" }
       ooInput.onmouseout = oInput.onmouseout = function(){   this.style.borderColor = "ACD1D1" }
      }
      function doSearch() {
    if ( oInput.value == Default_text) return false;
    }   

    function schFocus() {
      oInput.className = "onfocus"
    var val = oInput.value;  
    if (val == Default_text) oInput.value = '';  //remove the default text if it is present


    function schBlur() {
    var val = oInput.value;
    if ( !val )  oInput.value = Default_text;
    oInput.className = ( oInput.value == Default_text ) ? "onblur" : "onfocus"    
    }

    function Myriji(){
      location = "http://riji.seedit.com/blog-id"+Seeduid+".html"
    }

      

  20.   

    http://shop10.seedit.com/ajaxserver/rjs.php-----------------------------{   subm:function(){      re = /\d/;      if( re.test($("data").value)){     alert("璇疯緭鍏ラ潪鏁板瓧瀛椾覆");        return false;      }      if( !$("chkcode").value ){     alert("璇疯緭鍏ラ獙璇佺爜");        return false;               }      ajax.sendStr = '{"data":"'+$("data").value+'","ccode":"'+$("chkcode").value+'"}';      ajax.url = "ajaxserver/test1.php";   ajax.actFunc = reData;   ajaxRequest();   },   reData : function(){      if(ajax.reObj["err"]){        alert("楠岃瘉鐮侀敊璇?); return      }      if(ajax.reObj["redata"]){        alert("鏈嶅姟鍣ㄥ凡缁忔敹鍒版偍鎻愪氦鐨勬暟鎹細"+ajax.reObj["redata"])      }   }}
      

  21.   

    装个 HttpWatch 什么都看到了
    http://www.mistruster.com/soft/view_soft.php?id=782
      

  22.   

    Mistruster(弱智d) ( ) 信誉:120    Blog  2007-01-17 09:37:29  得分: 0  
     
     
       兰兰:
     你这“信誉”怎么越来越低了JS 怎么可能看不到呢,只要有就能看到
      
     
    ---------------
    哈哈,不好意思,我也不知道。可能在灌水的帖子被删的缘故吧。
      

  23.   

    js认证,是君子专用的。主要靠自觉。要是用户有想绕过的想法,那js就不可能认证了。早几十年的中国还有可能普及的……
      

  24.   

    您要查看的网页可能已被删除、名称已被更改,或者暂时不可用。 --------------------------------------------------------------------------------请尝试以下操作:如果您已经在地址栏中输入该网页的地址,请确认其拼写正确。打开 shop10.seedit.com  主页,然后查找指向您感兴趣信息的链接。 
    单击后退按钮,尝试其他链接。 
    单击搜索,寻找 Internet 上的信息。 HTTP 400 - 错误请求
    Internet Explorer