来源判断试过了,可以伪造。
IP判断也试过了,可以伪造。
据说有种token机制,请问怎么弄呢?
提交页面:index.php 接收程序:api.php,请问该怎么写呢,谢谢各位大侠!详细描述:
提交页面的代码:
<input type="text" style="text-align:center" id="c_href"></div>
<div onClick="submit()" class="btn">提交</div>
JS调用接口:$.ajax({url:"./php/api.php?url="+ c_href,dataType:"json",success:function(a){layer.closeAll();现在人家直接外部提交http://www.aaa.com/php/api.php?url=http://www.111.com 就可以加入我的数据库,请问如何防止呢

解决方案 »

  1.   

    token就是提交时,把参数加密,然后服务器解密参数,如果可以解开,就可以通过。
    但这个和外部提交没什么关系。
      

  2.   

    jQuery 的 ajax 会发送一个标识身份的头,你可据此判断提交是否来自 jQuery.ajax
    这样就可以阻挡掉不知道有该标识的非法提交(不过他若看到了我的提示,想必他也会加上的)一般的说,任何认证标识都是是由服务端发往浏览器的,所以不可能不被截获
    但是只要你做的隐秘些,还是不易被发现的
      

  3.   

    正常的用户必须先访问index.php,提交后才会访问api.php,而不是直接访问api.php。
    请问能否做一个判断:用户访问了index.php,才能访问api.php。如果用户没有访问index.php,直接访问api.php则退出。
    谢谢!!!
      

  4.   

    也就是在index.php页面,生成一个session值。然后在api.php页面判断该值是否正确,如果session值不正确则退出,正确则继续。
      

  5.   

    如果你是在做网站,那么可以使用 session
    如果你是在做 api,那么由于 cookie 不是 api 的标配,多半是要出问题的
      

  6.   

    做网站哦,请问index.php和API.PHP如何写代码呢,谢谢版主大大!
      

  7.   

    index.php 
    session_start();
    $_SESSION['标志']='值';api.php
    session_start();
    if(! isset($_SESSION['标志']) || $_SESSION['标志'] != '值') exit '非法访问';