解决方案 »

  1.   

    修改操作,包括,insert,update,delete 都是对数据库的修改。
    你可以判断你的sql语句里是否包含 这三类操作符,包含就不允许执行 不就行了。
      

  2.   

    简单点处理,能否判断sql语句中是否包含UPDATE, DELETE, ALTER, DROP等关键字呢?
      

  3.   

    根据修改数据三个关键字来判断好了!delete update create 如果有其中一个就提示!或是反过来,如果没有select就提示
      

  4.   

    反过来恐怕行不通啊.因为select 和insert可以一起执行的.
    我觉得还是应该从数据库权限入手,直接让登录用户没有操作表的权限不就得了.
      

  5.   

    反过来恐怕行不通啊.因为select 和insert可以一起执行的.
    我觉得还是应该从数据库权限入手,直接让登录用户没有操作表的权限不就得了.光在语句关键字上控制 我觉得也是不够全面的 百密总有一疏
      

  6.   

    反过来恐怕行不通啊.因为select 和insert可以一起执行的.
    我觉得还是应该从数据库权限入手,直接让登录用户没有操作表的权限不就得了.+1
      

  7.   

    直接弄个傻瓜版的,只要SQL语句包含UPDATE INSERT DELETE 就不让执行方法不就行了吗
      

  8.   

    这个很容易误判啊,有些语句是含有子查询的,并且某些字段可能会含有update字符串等
      

  9.   

    这个很容易误判啊,有些语句是含有子查询的,并且某些字段可能会含有update字符串等
    你不会判断 insert,update 这些字符在字符串中的 index 是否为0啊。是不是以它 开头的。
      

  10.   

    这个很容易误判啊,有些语句是含有子查询的,并且某些字段可能会含有update字符串等
    你不会判断 insert,update 这些字符在字符串中的 index 是否为0啊。是不是以它 开头的。
    要是一个字段是updateTime呢?
      

  11.   

    反过来恐怕行不通啊.因为select 和insert可以一起执行的.
    我觉得还是应该从数据库权限入手,直接让登录用户没有操作表的权限不就得了.
    最后还是用了这个方法,直接在权限这边控制了,只让只有查询权限的用户使用,有修改权限的就提示不能执行sql语句,不管这条语句会不会修改数据库