MYSQL网站制作之团体网站平安 从数据库公道办理入手下手
WindowsAzureSQLDatabase并不支持数据压缩和表分区之类的功能,而且SQLDatabase支持的Transact-SQL语言只是完整版的一部分。另外,因为解决方案提供商不能控制物理资源,所以他们不能将数据文件和索引分配给特定的硬件。平安|团体网站|数据|数据库数据库,网站运营的基本,网站保存的要素,不论是团体用户仍是企业用户都十分依附网站数据库的撑持,但是良多心怀叵测的打击者也一样十分“垂青”网站数据库。关于团体网站来讲,遭到建站前提的制约,Access数据库成了宽大团体网站站长的首选。但是,Access数据库自己存在良多平安隐患,打击者一旦找到数据库文件的存储路径和文件名,后缀名为“.mdb”的Access数据库文件就会被下载,网站中的很多主要信息会被一清二楚,十分可骇。固然,人人接纳了各类措施来增强Access数据库文件的平安,但真的无效吗?
存在毛病的回护措施
传播最为普遍的一种Access数据库文件回护措施,是将Access数据库文件的后缀名由“.mdb”改成“.asp”,接着再修正数据库毗连文件(如conn.asp)中的数据库地点内容,如许一来即便他人晓得数据库文件的文件名和存储地位,也没法举行下载。
1.貌似平安的道理
这是网上最盛行的一种加强Access数据库平安的办法,并且另有壮大的“实际基本”。
由于“.mdb”文件不会被IIS服务器处置,而是间接将内容输入到Web扫瞄器,而“.asp”文件则要经由IIS服务器处置,Web扫瞄器显现的是处置了局,并非ASP文件的内容。
但人人疏忽了一个很主要的成绩,这就是IIS服务器究竟处置了ASP文档中的哪些内容。这里笔者提示人人,只要ASP文件中“<%”和“%>”标记符间的内容才会被IIS服务器处置,而其他内容则间接输入到用户的Web扫瞄器。你的数据库文件中包括这些特别标记符吗?即便有,Access也大概会对文档中的“<%”和“%>”标记符举行特别处置,使之有效。因而后缀为“.asp”的数据库文件一样是不平安的,仍是会被歹意下载。
2.披着“平安外套”的毛病
面临勾引民气的实际,和世人的拥护,笔者也入手下手信任此办法的无效性。但现实胜于雄辩,一次偶然间的实验,让笔者完全戳穿了这个流言。
笔者起首将一个名为“cpcw.mdb”的数据库文件更名为“cpcw.asp”,然后上传到网站服务器中。
运转FlashGet(),进进“增加新的下载义务”对话框,在“网址”栏中输出“cpcw.asp”文件的存储路径,然后在“重定名”栏中输出“cpcw.mdb”。举行下载后,笔者发明能够很顺遂地翻开“cpcw.mdb”,并且它所存储的信息也被一清二楚。这就充实申明了纯真地将数据库文件名的后缀“.mdb”改成“.asp”,仍是存在平安隐患。
没有最“平安”,只要更“平安”
任何事变都不是相对的,因而加强Access数据库文件的平安也只是绝对的。究竟Access只能用于小型数据库的办理计划,它存在良多后天不敷,出格是在平安方面。
我们所接纳的各类办法,也只是绝对来讲加强了Access数据库文件的平安,其实不能完成相对的平安,究竟后天不敷的成绩是没法办理的。上面笔者为人人先容一些办法,固然不克不及完整避免他人下载Access数据库文件,但只需你善用它们,Access数据库文件就会更平安。
办法一:数据库文件名应庞大
要下载Access数据库文件,起首必需晓得该数据库文件的存储路径和文件名。假如你将底本十分复杂的数据库文件名修正得加倍庞大,如许那些“不怀美意”者就要消费更多的工夫往推测数据库文件名,有形中加强了Access数据库的平安性。
良多ASP程序为便利用户利用,它的数据库文件一般都被定名为“data.mdb”,这年夜小气便了有履历的打击者。假如我们将数据库文件名修正得庞大一些,别人就不容易猜到,如将“data.mdb”修正为“1rtj0ma27xi.mdb”,然后修正数据库毗连文件中的响应信息。如许Access数据库就绝对平安一些。此办法合适于那些租用Web空间的用户利用。
不敷的地方:一旦检察到数据库毗连文件(如conn.asp)中的内容,再庞大的文件名也杯水车薪。
办法二:使用ODBC数据源
良多网站Web程序,将Access数据库文件的存储路径和文件名寄存在数据库毗连文件中。一旦这些毗连文件中的内容外泄,那末不论数据库文件名何等庞大,城市表露出踪影。
这时候就能够利用ODBC数据源办法,即便毗连文件的内容外泄,别人也只能晓得网站程序所利用的ODBC数据源称号,而数据库文件的存储路径和文件名却没法找到。
手工修正数据库毗连文件(如conn.asp)中的内容,和创立ODBC数据源。上面以笔者的论坛程序为例,起首将conn.asp文档中的
DBPath=Server.MapPath("./data/1rtj0ma27xi.mdb")
conn.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&DBPath
修正为:conn.open"rtjmaxi",个中“rtjmaxi”是指ODBC数据源称号。
接着在IIS服务器中新建名为“rtjmaxi”的ODBC数据源(),并在个中指定“1rtj0ma27xi.mdb”数据库文件的地位便可,最初点击“断定”按钮完成设置。
不敷的地方:此办法不合适于租用Web空间的用户利用,要想利用ODBC数据源办法,必需要有办理和保护IIS服务器的权限。
办法三:改动存储地位
一样平常情形下,Access数据库文件寄存在响应的Web目次中,良多黑客就是使用这类纪律来查找并下载数据库文件。
因而能够接纳改动数据库文件存储地位的办法,将数据库文件寄存在Web目次之外的某个文件夹中,让黑客难以推测存储地位。
接着修正好数据库毗连文件(如conn.asp)中的数据库文件响应信息,如许Access数据库文件就平安多了。即便打击者经由过程毗连文件找到数据库文件的存储路径,因为数据库文件寄存在Web目次之外的中央,打击者就没法经由过程HTTP体例下载数据库文件。
比方,IIS网站的Web目次位于“D:wwwroot”下,在该Web目次下的“DATA”文件夹中寄存着“1rtj0ma27xi.mdb”,如今笔者将该数据库文件转移到Web目次之外的“D:CPCW”文件夹下。然后修正数据库毗连文件,将“DBPath=Server.MapPath("./data/1rtj0ma27xi.mdb")”修正为“DBPath=Server.MapPath("../cpcw/1rtj0ma27xi.mdb")”,如许Access数据库文件就平安多了。固然数据库文件没有寄存在Web目次中,但其实不影响ASP程序会见数据库。
不敷的地方:此办法不合适于租用Web空间的用户利用,由于将Access数据库文件移至Web目次以外,一样平常必要很年夜的权限。
以上办法,在分歧水平上加强了Access数据库文件的平安性,但人人不克不及将它们当做“灵药灵药”,究竟收集情况是庞大的,黑客的损坏手腕也在不休加强,人人能够依据本人的必要,选择个中的多种办法共同利用,效果才幻想,Access数据库文件才会更平安。
事实上,在任何DBaaS中,解决方案提供商对如何管理物理资源都没有控制权,因此MySQL学习教程可能会发现由于DBaaS的局限性使得他们提供给客户的远远小于客户所期望的。 习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。 但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右) 学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了! 这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。 学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了! SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。) 对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。 对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。 理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识
页:
[1]