仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 797|回复: 7
打印 上一主题 下一主题

[学习教程] MSSQL网页编程之SQL Server加过密的存储历程能够被解密...

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:39:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
有了数据以后,我们就要想一个比较统一的方法来闪回。上面我们说了对于DML操作,可以通过反向执行所有逆操作来实现,对于语句里面的DDL,只能直接跳过。原因是一个DDL不一定有直接的逆操作。server|存储历程|解密
1.Protectingthestoredprocedureandmakingittotallynon-decryptableistechnicallyimpossible.TherehastobeawaytoreverseitsothatSQLServercangeneratetheexecutionplanandexecutethequery.

2.TheEncryptionthatSQLServerisofferingisobfuscationofstoredproceduresthroughafeaturecalledstoredprocedureencryption.Obfuscationallowsthestoredprocedurestobeusedbydatabaseend-userswhilemakingitmoredifficultforthoseenduserstovieworchangethecontentsofthestoredprocedures.Inordertoexecutethestoredprocedures,SQLServermusthaveaccesstotheoriginalsourceformofthestoredprocedures.Asaresult,adeterminedSQLServersystemadministratorcouldobtainaccesstothesourceformofthestoredprocedures(althoughnon-systemadministratorsdonothavethisability).BecausetheobfuscationfeatureisnotintendedtoprotectthesourceformofstoredproceduresfrombeingcopiedorviewedbyadeterminedSQLServeradministrator,oneshouldnotrelysolelyonthefeatureforthatpurpose.

3.Obfuscationofstoredprocedureissimilartowhatotherdatabasevendorsoffer.Itistruethatthereexistsutilitiestodecryptproceduresprotectedbyobfuscation,andthisissimilartherealsoexistsdecompilesforJavaaswell.Thepointis,ifonecanrunthecodeandgetaccesstoanexecutableform,itsalwaystechnicallypossibletoreverseengineerthecode.

4.AnalternativeyoumaywanttotryistouseextendedstoredproceduresandDLL.BycreatingaDLLversionofthecode,makesithardertobreakbutitisstillpossibletoreverse-engineeraDLL.

5.Theprotectionthatisavailableforallsoftwaredevelopmentfirminterestedinprotectingtheirassetaresameacrossalldataproducts:

a.Obfuscation.
b.LegalProtection(Copywrite,patents,etc).

ItisnotpossibletodependonlyuponeitheroneofthesetwocorepillarsofIntellectualPropertyprotection.

限制,如果WHERE子句的查询条件里有不等号(WHEREcoloum!=),MySQL将无法使用索引。类似地,如果WHERE子句的查询条件里使用了函数(WHEREDAY(column)=),MySQL也将无法使用索引。
海妖 该用户已被删除
沙发
发表于 2015-1-19 20:40:33 | 只看该作者
这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?
乐观 该用户已被删除
板凳
发表于 2015-1-24 16:34:21 | 只看该作者
然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情
冷月葬花魂 该用户已被删除
地板
发表于 2015-2-2 10:52:32 | 只看该作者
原来公司用过MYSQL自己也只是建个表写个SQL
若天明 该用户已被删除
5#
发表于 2015-2-7 18:16:26 | 只看该作者
所以你总能得到相应的升级版本,来满足你的需求。
小妖女 该用户已被删除
6#
发表于 2015-2-22 22:08:09 | 只看该作者
我们学到了什么?思考问题的时候从表的角度来思考问
飘飘悠悠 该用户已被删除
7#
发表于 2015-3-14 08:00:26 | 只看该作者
语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!
谁可相欹 该用户已被删除
8#
发表于 2015-3-21 01:21:55 | 只看该作者
一个是把SQL语句写到客户端,可以使用DataSet进行加工;
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:34

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表