| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 796 人关注过本帖
标题:java数据库编程
只看楼主 加入收藏
雅雅
Rank: 2
等 级:论坛游民
帖 子:38
专家分:34
注 册:2010-7-4
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:5 
java数据库编程
我不知道怎么使用数据源ODBC,请教一下。
搜索更多相关主题的帖子: 数据库 数据源 java 
2010-12-29 21:44
雅雅
Rank: 2
等 级:论坛游民
帖 子:38
专家分:34
注 册:2010-7-4
收藏
得分:0 
我只是百度到了,这些资料,还想多知道一些,谢谢啊!

1)新生成的数据库在保证干净的前提下,主动在尾部合并一行ASP代码,内容一般可以为重定向,以免费别人通过论坛发帖等方式嵌入有害代码后被得到执行;
2)对MDB文件创建一个无效的映射,以便在IE中下载时出错;
3)修改出错页面,建议将出错页面设计为正常被曝库后的内容,但给一个数据库的虚假地址(最好存在相应的虚假数据库文件,比如一个改名后的病毒等);
4)在防火墙中对MDB类型的扩展名进行过滤;
5)删除或禁用网站的后台数据库备份功能,而用本地安装的专门自动备份程序进行自动增量备份。
6)ASP 通用防止注入的程序:
功能简单说明:
1.自动获取页面所有参数,无需手工定义参数名.
2.提供三种错误处理方式供选择.
  (1).提示信息.
  (2).转向页面.
  (3).提示信息,再转向页面.
3.自定义转向页面.
使用方法很简单,只需要在ASP页面头部插入代码
<!--#Include File="Fy_SqlX.Asp"-->
包含 Fy_SqlX.Asp 就可以了~~简单实用
<%
Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx
'---定义部份  头------
Fy_Cl = 1              '处理方式:1=提示信息,2=转向页面,3=先提示再转向
Fy_Zx = "Error.Asp"     '出错时转向的页面
On Error Resume Next
Fy_Url=Request.ServerVariables("QUERY_STRING")
Fy_a=split(Fy_Url,"&")
redim Fy_Cs(ubound(Fy_a))
On Error Resume Next
for Fy_x=0 to ubound(Fy_a)
Fy_Cs(Fy_x) = left(Fy_a(Fy_x),instr(Fy_a(Fy_x),"=")-1)
Next
For Fy_x=0 to ubound(Fy_Cs)
If Fy_Cs(Fy_x)<>"" Then
If Instr(LCase(Request(Fy_Cs(Fy_x))),"'")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"and")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"select")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"update")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"chr")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"delete%20from")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),";")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"insert")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"mid")<>0 Or Instr(LCase(Request(Fy_Cs(Fy_x))),"master.")<>0 Then
Select Case Fy_Cl
  Case "1"
Response.Write "<Script Language=JavaScript>alert('                   出现错误!参数 "&Fy_Cs(Fy_x)&" 的值中包含非法字符串!\n\n  请不要在参数中出现:;,and,select,update,insert,delete,chr 等非法字符!');window.close();</Script>"
  Case "2"
Response.Write "<Script Language=JavaScript>location.href='"&Fy_Zx&"'</Script>"
  Case "3"
Response.Write "<Script Language=JavaScript>alert('                   出现错误!参数 "&Fy_Cs(Fy_x)&"的值中包含非法字符串!\n\n  请不要在参数中出现:;,and,select,update,insert,delete,chr 等非法字符!');location.href='"&Fy_Zx&"';</Script>"
End Select
Response.End
End If
End If
Next
%>
5.MSSQL 注入攻击的防范

攻击者可调用SQL里的Master里的扩展存储过程中的xp_cmdshell来执行系统指令。
1)删除扩展存储过程
在控制面板→计算机管理→Microsoft SQL Server→(Local……)→数据库→master→扩展存储过程→xp_cmdshell,右击然后删除!
也可以使用命令删除:
sp_dropextendedproc 'xp_cmdshell'
接着在系统分区搜索并删除或改名、移除 xplog70.dll 文件防止恶意者恢复上述配置。
2)删除注册表操作功能
删除上述位置下的:
xp_regaddmultistring(向注册表添加项目)
xp_regdeletekey(向注册表删除一个项)
xp_regdeletevalue(向注册表删除一个键值)
xp_regnumvalues(列举主键下的键值)
xp_regread(读取一主键下的键值)
xp_regremovemultistring(从注册表中删除项目)
xp_regwrite(向注册表中数据)
3)防范跨库查询
每个数据库分别设置一个数据库用户,该用户只能对其拥有的数据库进行查询,禁止其他数据库(包括4个系统数据库Master Model Tempdb Msdb和两个用户数据库 Pubs t Northwind)。
2010-12-29 21:51
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
收藏
得分:2 
找JDBC吧, 网上很多资料

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2010-12-30 08:52
tinx
Rank: 2
等 级:论坛游民
帖 子:24
专家分:29
注 册:2008-10-19
收藏
得分:2 
ODBC是微软的东西,java中使用的话需要Jdbc/odbc桥驱动
2010-12-30 10:19
w123012306
Rank: 9Rank: 9Rank: 9
来 自:湖南
等 级:蜘蛛侠
威 望:4
帖 子:307
专家分:1180
注 册:2010-4-22
收藏
得分:16 
要先连接数据库! 用com;mysql;jdbc;Driver文件,  JDBC:全称叫做JavaDataBaseConnection--使用java技技术,来连接数据库!
下面是个列子:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class JavaDataBaseConnection {
    static ResultSet rs=null;
    static Statement st=null;
    static Connection conn=null;
    static String username = "root";
    static String password = "password";
    static String url = "jdbc:mysql://localhost:3306/LearnSql";//learnSql是建数据库名;
    static String sql = "select * from student";//student是数据库表名;
    public static Connection getConnection(){
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn=DriverManager.getConnection(url,username,password);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return conn;
    }
    public void SelectMethod(){
        /**
         * 1.找到数据库的入口
         *         要找到关于数据库对外提供的接口--使用工具来找接口
         */
   
        try{
            conn = getConnection();
            st = conn.createStatement();
            rs = st.executeQuery(sql);
            while(rs.next()){
                System.out.println(rs.getString("snum")+" "+rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4)+" "+rs.getString(5)+" "+rs.getString(6));
            }
        }catch (SQLException e) {
            e.printStackTrace();
        }finally{
            //关闭顺利:最后用的最先关闭
            try {
                rs.close();
                st.close();
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        
        }
    }

楼上,楼下的一定要幸福开心哦!
2011-01-03 13:23
雅雅
Rank: 2
等 级:论坛游民
帖 子:38
专家分:34
注 册:2010-7-4
收藏
得分:0 
回复 5楼 w123012306
好的,谢谢你们啊!
2011-03-15 20:34
快速回复:java数据库编程
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012634 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved