Monthly Archives: 十月 2015

十月 31st, 2015

ASP程序

 

方法一: 修改该网站的的最大上传文件的大小限制

在Windows server上会出现上传大小受限制的问题,这是由于windows server的IIS管理器做了限制所致,IIS默认设置是最大只能上传200K的文件,下面介绍一下如何修改IIS设置,以使上传不受限制。
进入管理工具->Internet 信息服务(IIS)管理器,找到对应网站,打开该网站的功能页面,依次选择选择IIS->ASP->限制属性->最大请求主体实体限制.将其值修改为你需要的value,点击应用保存即可.默认是200000,单位字节.

方法二: 修改服务器的的最大上传文件的大小限制

首先停止Internet 信息服务(IIS)的internet服务,接着,在找到文件c:\windows\system32\inetsrv\metabase.xml,用“记事本”打开该文件,用记事本中的“查找”功能,搜索关键词“AspMaxRequestEntityAllowed”,搜索到结果,AspMaxRequestEntityAllowed=”200000″ 是win 2008用于限制最大上传文件大小的,默认是200000,你可以根据您的具体情况,修改该值设置完该值,保存文件,重启IIS服务即可。

:其实除了修改最大请求主体实体限制,还需要修改”允许的最大内容长度(字节)”,但是服务器的默认值足够,所以一般不需修改.具体情况视情况而定.

 

php程序

方法也很简单,其本质均是修改php.ini的设置.

方法一:即使虚拟主机客户也可以先尝试下. 您可以在您的网站目录中新建一个php.ini.

以文本格式打开php.ini,输入以下2行代码.

upload_max_filesize = 20M               //修改网站上传文件的大小,默认为2M

post_max_size = 20M                    //修改网站表单的最大字节长度,默认问8M

注:仅设置upload_max_filesize = 20M还是无法实现大文件的上传功能,还必须修改post_max_size,其代表允许POST的数据最大字节长度。一般设定upload_max_filesize和post_max_size值相等。

此时检测下设置是否生效.网上下载个php探针.或者简单的条用下phpinfo函数.这里就不冗述. 如果没有生效可以联系下您的主机商询问下情况.

方法二:适合独立服务器,修改php的默认配置,进入php的安装目录,找到php.ini,检索到对应的记录修改即可.

原博客地址:http://blog.sina.com.cn/s/blog_6d1b3b900102w3a7.html

十月 30th, 2015

Linux 命令神器:lsof 入门

 

lsof是系统管理/安全的工具。我大多数时候用它来从系统获得与网络连接相关的信息,但那只是这个强大而又鲜为人知的应用的第一步。将这个工具称之为lsof真实名副其实,因为它是指“列出打开文件(lists openfiles)”。而有一点要切记,在Unix中一切(包括网络套接口)都是文件。

有趣的是,lsof也是有着最多开关的Linux/Unix命令之一。它有那么多的开关,它有许多选项支持使用-和+前缀。

 

12

3

usage: [-?abhlnNoOPRstUvV] [+|-c c] [+|-d s] [+D D] [+|-f[cgG]][-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+|-M] [-o [o]]

[-p s] [+|-r [t]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [–] [names]

 

正如你所见,lsof有着实在是令人惊讶的选项数量。你可以使用它来获得你系统上设备的信息,你能通过它了解到指定的用户在指定的地点正在碰什么东西,或者甚至是一个进程正在使用什么文件或网络连接。

对于我,lsof替代了netstat和ps的全部工作。它可以带来那些工具所能带来的一切,而且要比那些工具多得多。那么,让我们来看看它的一些基本能力吧:

 

关键选项

 

理解一些关于lsof如何工作的关键性东西是很重要的。最重要的是,当你给它传递选项时,默认行为是对结果进行“或”运算。因此,如果你正是用-i来拉出一个端口列表,同时又用-p来拉出一个进程列表,那么默认情况下你会获得两者的结果。

 

下面的一些其它东西需要牢记:

默认 : 没有选项,lsof列出活跃进程的所有打开文件

组合 : 可以将选项组合到一起,如-abc,但要当心哪些选项需要参数

-a : 结果进行“与”运算(而不是“或”)

-l : 在输出显示用户ID而不是用户名

-h : 获得帮助

-t : 仅获取进程ID

-U : 获取UNIX套接口地址

-F : 格式化输出结果,用于其它命令。可以通过多种方式格式化,如-F pcfn(用于进程id、命令名、文件描述符、文件名,并以空终止)

 

获取网络信息

正如我所说的,我主要将lsof用于获取关于系统怎么和网络交互的信息。这里提供了关于此信息的一些主题:

 

使用-i显示所有连接
有些人喜欢用netstat来获取网络连接,但是我更喜欢使用lsof来进行此项工作。结果以对我来说很直观的方式呈现,我仅仅只需改变我的语法,就可以通过同样的命令来获取更多信息。

 

123

4

5

# lsof -iCOMMAND PID USER FD TYPE DEVICE SIZE NODE NAMEdhcpcd 6061 root 4u IPv4 4510 UDP *:bootpc

sshd 7703 root 3u IPv6 6499 TCP *:ssh (LISTEN)

sshd 7892 root 3u IPv6 6757 TCP 10.10.1.5:ssh->192.168.1.5:49901 (ESTABLISHED)

 

使用-i 6仅获取IPv6流量

 

1 # lsof -i 6

 

仅显示TCP连接(同理可获得UDP连接)
你也可以通过在-i后提供对应的协议来仅仅显示TCP或者UDP连接信息。

 

123

4

# lsof -iTCPCOMMAND PID USER FD TYPE DEVICE SIZE NODE NAMEsshd 7703 root 3u IPv6 6499 TCP *:ssh (LISTEN)

sshd 7892 root 3u IPv6 6757 TCP 10.10.1.5:ssh->192.168.1.5:49901 (ESTABLISHED)

 

使用-i:port来显示与指定端口相关的网络信息

或者,你也可以通过端口搜索,这对于要找出什么阻止了另外一个应用绑定到指定端口实在是太棒了。

 

123

4

# lsof -i :22COMMAND PID USER FD TYPE DEVICE SIZE NODE NAMEsshd 7703 root 3u IPv6 6499 TCP *:ssh (LISTEN)

sshd 7892 root 3u IPv6 6757 TCP 10.10.1.5:ssh->192.168.1.5:49901 (ESTABLISHED)

 

使用@host来显示指定到指定主机的连接
这对于你在检查是否开放连接到网络中或互联网上某个指定主机的连接时十分有用。

 

12 # lsof -i@172.16.12.5sshd 7892 root 3u IPv6 6757 TCP 10.10.1.5:ssh->172.16.12.5:49901 (ESTABLISHED)

 

使用@host:port显示基于主机与端口的连接

你也可以组合主机与端口的显示信息。

 

12 # lsof -i@172.16.12.5:22sshd 7892 root 3u IPv6 6757 TCP 10.10.1.5:ssh->172.16.12.5:49901 (ESTABLISHED)

 

找出监听端口

找出正等候连接的端口。

1 # lsof -i -sTCP:LISTEN

你也可以grep “LISTEN”来完成该任务。

 

 

12 # lsof -i | grep -i LISTENiTunes 400 daniel 16u IPv4 0x4575228 0t0 TCP *:daap (LISTEN)

 

找出已建立的连接

你也可以显示任何已经连接的连接。

1 # lsof -i -sTCP:ESTABLISHED

 

你也可以通过grep搜索“ESTABLISHED”来完成该任务。

12 # lsof -i | grep -i ESTABLISHEDfirefox-b 169 daniel 49u IPv4 0t0 TCP 1.2.3.3:1863->1.2.3.4:http (ESTABLISHED)

 

用户信息

你也可以获取各种用户的信息,以及它们在系统上正干着的事情,包括它们的网络活动、对文件的操作等。

 

使用-u显示指定用户打开了什么

 

123

4

5

6

7

8

# lsof -u daniel– snipped –Dock 155 daniel txt REG 14,2 2798436 823208 /usr/lib/libicucore.A.dylib

Dock 155 daniel txt REG 14,2 1580212 823126 /usr/lib/libobjc.A.dylib

Dock 155 daniel txt REG 14,2 2934184 823498 /usr/lib/libstdc++.6.0.4.dylib

Dock 155 daniel txt REG 14,2 132008 823505 /usr/lib/libgcc_s.1.dylib

Dock 155 daniel txt REG 14,2 212160 823214 /usr/lib/libauto.dylib

— snipped —

 

使用-u user来显示除指定用户以外的其它所有用户所做的事情

 

123

4

5

6

7

8

# lsof -u ^daniel– snipped –Dock 155 jim txt REG 14,2 2798436 823208 /usr/lib/libicucore.A.dylib

Dock 155 jim txt REG 14,2 1580212 823126 /usr/lib/libobjc.A.dylib

Dock 155 jim txt REG 14,2 2934184 823498 /usr/lib/libstdc++.6.0.4.dylib

Dock 155 jim txt REG 14,2 132008 823505 /usr/lib/libgcc_s.1.dylib

Dock 155 jim txt REG 14,2 212160 823214 /usr/lib/libauto.dylib

— snipped —

 

杀死指定用户所做的一切事情

可以消灭指定用户运行的所有东西,这真不错。

1 # kill -9 `lsof -t -u daniel`

 

命令和进程

可以查看指定程序或进程由什么启动,这通常会很有用,而你可以使用lsof通过名称或进程ID过滤来完成这个任务。下面列出了一些选项:

 

使用-c查看指定的命令正在使用的文件和网络连接

 

123

4

5

6

# lsof -c syslog-ngCOMMAND PID USER FD TYPE DEVICE SIZE NODE NAMEsyslog-ng 7547 root cwd DIR 3,3 4096 2 /

syslog-ng 7547 root rtd DIR 3,3 4096 2 /

syslog-ng 7547 root txt REG 3,3 113524 1064970 /usr/sbin/syslog-ng

— snipped —

 

使用-p查看指定进程ID已打开的内容

 

123

4

5

6

7

8

9

10

11

12

13

14

# lsof -p 10075– snipped –sshd 10068 root mem REG 3,3 34808 850407 /lib/libnss_files-2.4.so

sshd 10068 root mem REG 3,3 34924 850409 /lib/libnss_nis-2.4.so

sshd 10068 root mem REG 3,3 26596 850405 /lib/libnss_compat-2.4.so

sshd 10068 root mem REG 3,3 200152 509940 /usr/lib/libssl.so.0.9.7

sshd 10068 root mem REG 3,3 46216 510014 /usr/lib/liblber-2.3

sshd 10068 root mem REG 3,3 59868 850413 /lib/libresolv-2.4.so

sshd 10068 root mem REG 3,3 1197180 850396 /lib/libc-2.4.so

sshd 10068 root mem REG 3,3 22168 850398 /lib/libcrypt-2.4.so

sshd 10068 root mem REG 3,3 72784 850404 /lib/libnsl-2.4.so

sshd 10068 root mem REG 3,3 70632 850417 /lib/libz.so.1.2.3

sshd 10068 root mem REG 3,3 9992 850416 /lib/libutil-2.4.so

— snipped —

 

-t选项只返回PID

 

12 # lsof -t -c Mail350

 

文件和目录

通过查看指定文件或目录,你可以看到系统上所有正与其交互的资源——包括用户、进程等。

 

显示与指定目录交互的所有一切

 

123 # lsof /var/log/messages/COMMAND PID USER FD TYPE DEVICE SIZE NODE NAMEsyslog-ng 7547 root 4w REG 3,3 217309 834024 /var/log/messages

 

显示与指定文件交互的所有一切

 

 

1 # lsof /home/daniel/firewall_whitelist.txt

 

高级用法

与tcpdump类似,当你开始组合查询时,它就显示了它强大的功能。

 

显示daniel连接到1.1.1.1所做的一切

 

12 # lsof -u daniel -i @1.1.1.1bkdr 1893 daniel 3u IPv6 3456 TCP 10.10.1.10:1234->1.1.1.1:31337 (ESTABLISHED)

 

同时使用-t和-c选项以给进程发送 HUP 信号

 

1 # kill -HUP `lsof -t -c sshd`

 

lsof +L1显示所有打开的链接数小于1的文件

这通常(当不总是)表示某个攻击者正尝试通过删除文件入口来隐藏文件内容。

 

12 # lsof +L1(hopefully nothing)

 

显示某个端口范围的打开的连接

 

1 # lsof -i @fw.google.com:2150=2180

 

结尾

本入门教程只是管窥了lsof功能的一斑,要查看完整参考,运行man lsof命令或查看在线版本。希望本文对你有所助益,也随时欢迎你的评论和指正。转载自http://www.ttlsa.com/linux/linux-command-lsof-study/,如损害您的权益,请联系作者删除。

 

十月 29th, 2015

注意,以下操作会删除数据库,请事先自行备份数据库文件

一、需要3个文件,以下为3个文件的文件名及内容:

文件1:Mysql_Drop_DataBase.txt,内容如下:

drop database yourdatabase;

文件2:Mysql_Create_DataBase.txt,内容如下:

create database yourdatabase;

文件3:自动压缩ibdata1文件容量.bat,内容如下:

rem 删除数据库
mysql -u 用户名 –password=密码 < “Mysql_Drop_DataBase.txt”

rem 停止mysql服务
net stop mysql

rem 删除ibdata1、iblogfile0、ib_logfile1文件,请自行替换以下文件路径
Del “G:\MySQL Datafiles\ibdata1”
Del “C:\ProgramData\MySQL\MySQL Server 5.5\data\ib_logfile0”
Del “C:\ProgramData\MySQL\MySQL Server 5.5\data\ib_logfile1”

rem 启动mysql服务
net start mysql

rem 创建数据库
mysql -u 用户名 –password=用户名 < “Mysql_Create_DataBase.txt”

二、点击“自动压缩ibdata1文件容量.bat”开始运行

TAGS: ,
十月 21st, 2015

环境说明:

系统版本:centos 6.6 32bit

软件版本:mysql 5.6.25 、nginx1.6.2 、 php5.4.37 LNMP架构

说明:mysql5.5版本以上需要使用phpmyadmin4.4版本以上;

步骤如下:

# unzip phpMyAdmin-4.4.7-all-languages.zip

# mv phpMyAdmin-4.4.7-all-languages/* /usr/local/nginx/html/phpmyadmin/

# cd /usr/local/nginx/html/phpmyadmin/

# cp config.sample.inc.php config.inc.php

浏览器访问 192.168.20.5/phpmyadmin

使用root用户,密码为mysql密码登录;spacer.gif

wKioL1Xr3C-ju6GAAADqcyMdA2E414.jpg

报错如下图:无法登录MySQL服务器;

出现这个错误,表示没有连接到数据库

spacer.gifwKiom1Xr2efA6RwxAACJ94Y30Cw141.jpg

解决方法:

# vi config.inc.php

找到这一行    $cfg[‘Servers’][$i][‘host’] = ‘localhost’;

修改为:$cfg[‘Servers’][$i][‘host’] = ‘127.0.0.1‘;

重新连接就登录进去了;

wKioL1Xr3LjjcbJ9AARFhfOkeXI316.jpg

nginx虚拟主机配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# cat /usr/local/nginx/conf/vhosts/default.conf 
server
{
    listen 80;
    server_name 192.168.20.5;
    index index.html index.htm index.php;
    root /usr/local/nginx/html;
    
    location ~ \.php$ {
    include fastcgi_params;
    fastcgi_pass unix:/tmp/php-fcgi.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

php-fpm配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# cat /usr/local/php/etc/php-fpm.conf
[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
[www]
user = php-fpm
group = php-fpm
listen = /tmp/php-fcgi.sock
listen.mode = 0666
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
十月 21st, 2015

监控MySQL服务是否正常,通常的思路为:检查3306端口是否启动,ps查看mysqld进程是否启动,命令行登录mysql执行语句返回结果,php或jsp程序检测(需要开发人员开发程序)等等;

方法1:监听3306端口

1
2
3
4
5
6
7
8
9
10
#!/bin/bash
#written by mofansheng@2015-10-15
port=`netstat -nlt|grep 3306|wc -l`
if [ $port -ne 1 ]
then
 /etc/init.d/mysqld start
else
 echo "MySQL is running"
fi

方法2:查看mysqld进程

注意注意:如果使用进程过滤的话,脚本名称如果里面包含mysql的话,脚本执行有坑,切记!!!因为会把脚本也grep了一次,导致结果不准确;

1
2
3
4
5
6
7
8
9
10
11
[root@localhost baby]# cat check_mysql.sh
#!/bin/bash
#written by mofansheng@2015-10-15
process=`ps -ef |grep mysql|grep -v grep |wc -l`
if [ $process -ne 2 ]
then
 /etc/init.d/mysqld start
else
 echo "MySQL is running"
fi

执行结果如下:

[root@localhost baby]# sh check_mysql.sh

Starting MySQL SUCCESS!

改名之后执行为正常结果:

[root@localhost baby]# mv check_mysql.sh check_db.sh

[root@localhost baby]# sh check_db.sh

MySQL is running

方法3:双保险,进程和端口都成功才算mysql服务正常

1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
#written by mofansheng@2015-10-15
port=`netstat -nlt|grep 3306|wc -l`
process=`ps -ef |grep mysql|grep -v grep |wc -l`
if [ $port -eq 1 ] && [ $process -eq 2 ]
then
     echo "MySQL is running"
else
    /etc/init.d/mysqld start
fi

4:使用客户端登录mysql执行命令,查看返回结果测试服务是否启动,理论上此方法最可靠。

1
2
3
4
5
6
7
8
9
10
11
[root@localhost baby]# cat check_db_client.sh
#!/bin/bash
#written by mofansheng@2015-10-15
mysql -uroot -p123456 -e "select version();" &>/dev/null
if [ $? -ne 0 ]
then
 /etc/init.d/mysqld start
else
 echo "MySQL is running"
fi

执行结果如下:

[root@localhost baby]# sh check_db_client.sh

MySQL is running

十月 21st, 2015

Linux CentOS 或 Windows 用命令行导出和导入MySQL数据库
命令行导出数据库:
1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录
如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin
2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名
如我输入的命令行:mysqldump -u root -p news > news.sql  (输入后会让你输入进入MySQL的密码)
(如果导出单张表的话在数据库名后面输入表名即可)
3、会看到文件news.sql自动生成到bin文件下

命令行导入数据库:
1,将要导入的.sql文件移至bin文件下,这样的路径比较方便
2,同上面导出的第1步
3,进入MySQL:mysql -u 用户名 -p
如我输入的命令行:mysql -u root -p  (输入同样后会让你输入ySQL的密码)
4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库
5,输入:mysql>use 目标数据库名
如我输入的命令行:mysql>use news;
6,导入文件:mysql>source 导入的文件名;
如我输入的命令行:mysql>source news.sql

TAGS:
十月 21st, 2015

提到sa弱口令,我们首先就会想到,许多数据库都有1个类似的超级管理员账号,比如:Oracle是”system”和”sys”,Sybase也 是”sa”,MySQL里有”root”(不是UNIX系统账号的那个root)。如果没有设置相对应的密码或者你设的密码强度太低过于简单,那么入侵者 就能直接登陆并攻击数据库服务器,他们甚至可以获得你操作系统的最高级别的权限。说到这里,有的人也许不相信,曾经有人和我说:”数据库被攻破最多你的那 些表啊什么的被人家拿走,对方怎么可能获得操作系统最高权限呢?”其实,我并不是在危言耸听,下面我就假设某台SQL Server 的数据库的SA密码被破解为例,来看看黑客在取得了数据库权限后如何进1步把自己变成系统的管理员。

目前,网络上有不少此类工具,可以方便那些不熟悉SQL的人用,其实完全不用去下载那种工具,只要用微软自己的SQL Server里自带客户端程序连上去就马上可以轻松的把自己变成整个操作系统的超级管理员了。具体的过程,我就为大家讲解1遍,这里先假设黑客已经通过其他工具暴力破解了你设置的强度教低的sa帐号的弱口令,或者你根本就没有为sa账号设置口令。首先黑客打开SQL Server查询分析器,以sa身份和他刚暴力破解的密码登陆进你的SQL Server数据库,然后他执行以下语句:

xp_cmdshell “net user zxc nopassword /add” go xp_cmdshell “net localgroup /add administraTors zxc” go

这时候,你如果打开你的计算机管理—–本地用户和组—–用户,这时候你会发现里面已经多出了1个叫zxc的新账号,查看一下此帐号的属性,你更会发现他竟然隶属于administraTors组。

说到这里大家肯定都明白了,对,黑客通过调用SQL Server的系统数据库master里的xp_cmdshell这个扩展存储过程轻松的将他自己变成了你服务器上的超级管理员,那么以后他还有什么事情会干不了呢。

因此,如果大家在平时不需要调用此存储过程的话,可以考虑将它删除,当然不管你平时是不是要调用此存储过程,你都应该为你的sa账号设置1个十分健壮的密码,这是最根本、最重要的,你可以打开SQL Server的企业管理器,然后选择安全性—–登陆,右击sa账号,选择属性,然后在属性对话框里修改您的sa帐号所对应的密码,这里我建议你要尽可能的设置的复杂些,可以用英文字母结合数字结合特殊符号等,这样就可以防止黑客对此帐号的暴力破解,当然最好是在安装您的SQL Server的时候就已经完成此项工作,以免日后因人为遗忘等原因带来安全隐患。

下面我们来看修改sa用户名的办法。

最简单的代码如下

复制代码 代码如下:
Alter LOGIN sa DISABLE
Alter LOGIN sa WITH NAME = [systemAccount]

利用企业管理器

首先,在企业管理器的查询分析器中运行以下代码(注意,进入查询分析器的用户名的角色要为System administrator,而且是各个数据库的db owner):

复制代码 代码如下:
sp_configure ‘allow updates’, 1
go
RECONFIGURE WITH OVERRIDE
go

然后再运行以下代码

复制代码 代码如下:
update sysxlogins set name=’你要改成的名字’ where sid=0x01
update sysxlogins set sid=0xE765555BD44F054F89CD0076A06EA823 where name=’你要改成的名字’

接着:

复制代码 代码如下:

sp_configure ‘allow updates’, 0
go
RECONFIGURE WITH OVERRIDE
go

然后,你查看一下SQL SERVER的角色,就会发现SA的用户名,已经改为你的新名子了。

为了加强安全把默认的sa用户更改掉,安全性会有大幅提升。

Alter LOGIN sa DISABLE
Alter LOGIN sa WITH NAME = [新用户名]

修改SA用户名:

一:在企业管理器中右击:(local)(windows NT),选属性,选择“服务器设置”,在服务器行为中的“允许对系统目录直接进行修改”前面的方框打钩。再点确定。
二:再打开查询分析器,登陆进去(呵呵,随便你用什么帐号进去,不过可一定要在master数据库中有db_owner的权限)输入

复制代码 代码如下:
update sysxlogins set name=’你要改成的名字’ where sid=0x01
update sysxlogins set sid=0xE765555BD44F054F89CD0076A06EA823 where name=’你要改成的名字’

,OK,执行成功,转道企业管理器中刷新安全性中的登陆,看看,sa是不是变成你自己想修改的用户了

删除SA用户:

修改方法需要利用的存储过程sp_configure,sp_configure显示或更改当前服务器的全局配置设置。
语法:
打开查询分析器,输入
sp_configure [ [ @configname = ] ‘name’ ]
[ , [ @configvalue = ] ‘value’ ]

实例:

复制代码 代码如下:
sp_configure ‘allow updates’, 1
go
RECONFIGURE WITH OVERRIDE
go

好拉,这样我们就可以更新系统表拉,接下来和前面的做法一样拉 update sysxlogins set name=’你要改成的名字’ where sid=0x01,然后再删除”你改名后的那个名字”
不 过要注意在 sp_configure 上没有参数(或只有第一个参数)的执行许可权限默认授予所有用户。有两个参数的 sp_configure(用于更改配置选项)的执行许可权限默认授予 sysadmin 和 serveradmin 固定服务器角色。RECONFIGURE 权限默认授予 sysadmin 固定服务器角色和 serveradmin 固定服务器角色,并且不能传输。

TAGS: ,
十月 14th, 2015

因为MySQL默认的是MyISAM数据引擎,不支持事务也不支持外键,所以需要用到Innodb引擎,先查看当前数据库的

引擎,登录mysql数据库,在mysql>提示符下搞入show engines;命令即可看到,我的环境下默认是MyISAM如图

mysqlin1

修改成Innodb引擎需要编辑my.cnf文件

只要在配置文件my.cnf中的 [mysqld] 下面加入
default-storage-engine=INNODB

然后重启mysql服务即可
[root@mysql1 ~]# service mysqld restart

mysqlin2

如果出现 InnoDB |DEFAULT,则表示我们 设置InnoDB为默认引擎成功

十月 14th, 2015

DedeCMS V5.7后台输入账号密码之后点击登陆出现空白页面,没有任何提示,如何解决呢?空白页面不利于定位错误的原因,所以先得让错误出现。
编辑data目录下的common.inc.php文件,加入改行:
error_reporting(E_ALL);
之后保存文件,再刷新刚才的空白页面发现有如下错误提示了:
Warning: Cannot modify header information – headers already sent by (output started at /home/test/public_html/dedecms/data/safe/inc_safe_config.php:1) in /home/test/public_html/dedecms/include/common.inc.php on line 263

这种错误就好解决了,一般都是output_buffering没有开启导致的。只需要自定义下php.ini文件,在其中写入
output_buffering=4096或者on均可。

之后可以通过查看phpinfo函数来判断此修改是否生效。如果是suphp服务器的话,php.ini没生效就在.htaccess文件中写上:
suPHP_ConfigPath /home/test/public_html/dedecms/

之后即可生效。
到这里后台就可以正常访问了,空白问题解决:
dedecms

十月 14th, 2015

Windows Server 2008 IIS 7.5(Plesk虚拟主机)下如何设置Discuz X2伪静态呢?方法很简单:
一.Discuz后台启用伪静态
登陆Discuz X2的后台然后点击全局>>SEO设置>>URL静态化,然后将每个对应的可用下面的框选中如下:

之后提交即可。

二.创建web.config文件并配置伪静态规则
登陆Plesk虚拟主机面板,在网站根目录下创建web.config文件,写上如下内容:

  1. <?xml version=”1.0″ encoding=”UTF-8″?>
  2. <configuration>
  3. <system.webServer>
  4. <rewrite>
  5.     <rules>
  6.         <rule name=”portal_topic”>
  7.             <match url=”^(.*/)*topic-(.+).html\?*(.*)[        DISCUZ_CODE_0        ]quot; />
  8.             <action type=”Rewrite” url=”{R:1}/portal.php\?mod=topic&amp;topic={R:2}&amp;{R:3}” />
  9.         </rule>
  10.         <rule name=”portal_article”>
  11.             <match url=”^(.*/)*article-([0-9]+)-([0-9]+).html\?*(.*)[        DISCUZ_CODE_0        ]quot; />
  12.             <action type=”Rewrite” url=”{R:1}/portal.php\?mod=view&amp;aid={R:2}&amp;page={R:3}&amp;{R:4}” />
  13.         </rule>
  14.         <rule name=”forum_forumdisplay”>
  15.             <match url=”^(.*/)*forum-(\w+)-([0-9]+).html\?*(.*)[        DISCUZ_CODE_0        ]quot; />
  16.             <action type=”Rewrite” url=”{R:1}/forum.php\?mod=forumdisplay&amp;fid={R:2}&amp;page={R:3}&amp;{R:4}” />
  17.         </rule>
  18.         <rule name=”forum_viewthread”>
  19.             <match url=”^(.*/)*thread-([0-9]+)-([0-9]+)-([0-9]+).html\?*(.*)[        DISCUZ_CODE_0        ]quot; />
  20.             <action type=”Rewrite” url=”{R:1}/forum.php\?mod=viewthread&amp;tid={R:2}&amp;extra=page%3D{R:4}&amp;page={R:3}&amp;{R:5}” />
  21.         </rule>
  22.         <rule name=”group_group”>
  23.             <match url=”^(.*/)*group-([0-9]+)-([0-9]+).html\?*(.*)[        DISCUZ_CODE_0        ]quot; />
  24.             <action type=”Rewrite” url=”{R:1}/forum.php\?mod=group&amp;fid={R:2}&amp;page={R:3}&amp;{R:4}” />
  25.         </rule>
  26.         <rule name=”home_space”>
  27.             <match url=”^(.*/)*space-(username|uid)-(.+).html\?*(.*)[        DISCUZ_CODE_0        ]quot; />
  28.             <action type=”Rewrite” url=”{R:1}/home.php\?mod=space&amp;{R:2}={R:3}&amp;{R:4}” />
  29.         </rule>
  30.         <rule name=”home_blog”>
  31.             <match url=”^(.*/)*blog-([0-9]+)-([0-9]+).html\?*(.*)[        DISCUZ_CODE_0        ]quot; />
  32.             <action type=”Rewrite” url=”{R:1}/home.php\?mod=space&amp;uid={R:2}&amp;do=blog&amp;id={R:3}&amp;{R:4}” />
  33.         </rule>
  34.         <rule name=”forum_archiver”>
  35.             <match url=”^(.*/)*(fid|tid)-([0-9]+).html\?*(.*)[        DISCUZ_CODE_0        ]quot; />
  36.             <action type=”Rewrite” url=”{R:1}/index.php\?action={R:2}&amp;value={R:3}&amp;{R:4}” />
  37.         </rule>
  38.     </rules>
  39. </rewrite>
  40. <httpErrors errorMode=”Detailed” />
  41. <asp scriptErrorSentToBrowser=”true” />
  42. </system.webServer>
  43. <system.web>
  44. <customErrors mode=”Off” />
  45. <globalization requestEncoding=”utf-8″ responseEncoding=”utf-8″ fileEncoding=”utf-8″ />
  46. </system.web>
  47. </configuration>

这样即完成了Plesk虚拟主机面板上设置Discuz X2的伪静态。Windows Server 2008 IIS 7.5(Plesk虚拟主机)下设置Discuz X2伪静态就是这么简单!

方法适用于Plesk 10和11虚拟主机用户。也适用于所有Windows Server 2008 IIS 7.5的用户。