如何禁止用户下载服务器里的.mdb类型数据库?

如何禁止用户下载服务器里的.mdb类型数据库?,第1张

防止数据库被下载的方法就有4种

1:在数据库新建一个表,表名为<%safe就可以了 ,这样iis在解析的时候会出现500错误,数据库也就下载不了了!

2:在你的数据库文件名后门加上# (不是扩展名,比如name#.mdb)这样iis就以为你是在请求该目录中默认的文件名,比如index.asp,如果iis找不到就会发出403禁止浏览目录的错误警告!

3:在iis中是把数据库所在的目录设为不可读,这样就可以防止被下载!请放心,这样做不会影响asp程序的正常使用!!

4:直接使用数据源 (ODBC)这样数据库就可以不用在web目录里面,从而彻底防止被下载,但是这样做你必须拥有服务器的管理员权限,哈哈,大部分虚拟主机用户是不可能用数据源 (ODBC)的!

,先计算mysql数据库目录下的每个数据库大小,然后与容量限制进行比较,如果超过容量,则revoke该数据库的insert权限,让用户数据库不能再增长。

脚本如下:

###begin srcript --author pat.dong####

# 如果用户空间超过,此文件将会作为邮件的内容发送到用户信箱

sizeover="/etc/sizeover.log"

dblist="/tmp/dblist"

mysql_path=/usr/local/mysql/bin

# 将数据库名称输出

$mysql_path/mysql -uroot -e "show databases">$dblist

# 删除第一栏 "Database"

sed 1d $dblist >/tmp/tmp123456

cat /tmp/tmp123456 >$dblist

# 数据库的数据路径

DB_PATH="/www/mysql"

# 用户所能使用的最大空间 单位 kb

LIMIT_SIZE=2048

#mysql_quota文件记录每个数据库的配额,内容如下:

####mysql_quota file begin######

cn-ce 10000

cnmr 2048

fulin 2048

ishunde 2048

jljust 15000

####end mysql_quota#####

# mysql 这个数据库不必改

cat $dblist | while read bdo

if [ $b != "mysql" ] &&[ -d $DB_PATH/$b ]

then

SIZE=`du $DB_PATH/$b -sk|awk {'print $1'}`

LIMIT_SIZE=`cat quota |grep $b|awk {'print $2'}`

echo "User Size is "$SIZE",Limt Size is "$LIMIT_SIZE

if [ $SIZE -gt $LIMIT_SIZE ]

then

# mysql -uroot -prootpwd -n -e "revoke insert on $b.* from $b@hostname"

# sendmail $b@mail.com <$sizeover

echo $b" is over quota"

else

# mysql -uroot -prootpwd -n -e "grant insert on $b.* to $b@hostname"

echo $b" is no over quota"

fi

# mysql -uroot -prootpwd -n -e "flush privileges"

fi

done

####end script#####

代码必须放在wwwroot文件夹里面,这个文件已经设置好权限不用管他的。

db是给你放数据库的,把你数据库放在这个文件夹,然后修改数据库路径,就可以防止数据库直接通过http访问,别人不能直接下载数据库,也就破解不了管理员账号密码保障安全,要不然别人知道你数据库地址直接下载下来破解密码就可以轻松把你站点黑了


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

原文地址: http://outofmemory.cn/sjk/10025895.html

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

发表评论

登录后才能评论

评论列表(0条)

保存