thinkphp怎么做才是安全的sql防注入

thinkphp怎么做才是安全的sql防注入,第1张

比如在get ID的时候用I('get.id')而不是$_GET['ID'] 写循环id也最好用tp自带的数组来写 总之多用thinp自带的方法 而不是用自己写的原始的方法!thinkphp本来就是自带的校验安全性

今天有一个朋友问我thinkphp的这个问题,刚好百度搜索到你这个问题。已经解决。就帮你解答一下这个问题。

首先我尝试在入口文件封装一个加密函数,我用php des 加密,然后在配置文件config.php调用。然后在控制器里面使用,打印配置文件:dump(C())//输出所有的配置文件信息, 虽然能看到正确的数据用户名和密码,但是会报错。失败告终。

我说一下我的解决方法。很简单。

1:把配置文件里面的用户名,密码,数据库名瞎写一写,别人看到你的代码的配置文件看到的就是错误的数据库名和密码了。比如:

'DB_NAME' => 'SB', // 数据库名

'DB_USER' => 'ni_da_ye', // 用户名

'DB_PWD'=> 'da_da_bi', // 密码

在每个控制器文件里面。加入一段代码。

比如你的IndexController.class.php文件。加下面的代码。

/* 初始化方法*/

public function __construct(){

parent::__construct()

C("DB_NAME",decrypt('712349721937491237'))//数据库名,

C('DB_USER',decrypt('712349721937491237'))//用户名

C('DB_PWD',decrypt('712349721937491237'))//密码

}

看清楚了吗?

decrypt()这个函数就是我封装的一个加密函数,亲自测试没有错误。可能会牺牲一些性能。但是保证了用户名,密码,数据库名没有泄露。甚至你都可以把数据库连接地址也加密一下。希望能帮到你。

PHP加密函数可以考虑用des,aes这些可逆加密。别用什么md4,md5.

您好,ThinkPHP默认密码是没有的,因为ThinkPHP是一个开源的PHP开发框架,它没有默认的密码,你需要自己设置一个密码来保护你的应用程序。ThinkPHP提供了一个安全的密码策略,它要求你使用至少8位的字符,包括大小写字母、数字和特殊字符,这样可以有效地防止暴力破解和其他安全漏洞。此外,你还可以使用ThinkPHP提供的安全组件,如密码哈希、密码重置等,来提高你的应用程序的安全性。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11183359.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存