分页: 22/26 第一页 上页 17 18 19 20 21 22 23 24 25 26 下页 最后页 [ 显示模式: 摘要 | 列表 ]
Jan 25
      【BBS】即网上论坛。通常有特定主题、管理员(版主,也叫斑竹、板猪)。由网友自由上帖发表文章或言论,即帖子。其实许多论坛同时也是网友们交换信息的重要手段,比如XX游戏论坛。

  【回帖】看了别人的帖子,加复一下,表示自己的意见,这叫回帖,也叫跟帖。

  【置顶】一个帖子,回复的人或者跟帖的人多了,就成了热门帖。一般论坛,会把这样的帖子放到所有帖子的最前面,这叫置顶。如果再编入论坛永久保留的精华区,对发帖的人是一种无上的光荣。

  【顶】顶,也叫推,回帖的一种。不过所谓顶,就是在回帖时,不表示什么具体的意见,仅仅表示支持一下,这是看帖的基本美德之一。

  【砖·水】一个论坛即要有砖———精彩的帖子,吸引网虫浏览、议论;也要有水———没什么内容的帖子,或同一文章在同一版或不同版重复发表三次以上者。然而灌水,有实际提高论坛人气的显著作用,只要灌得不要太过分而影响了他人,一般都是被允许甚至鼓励的。有的论坛甚至设立专门的灌水区,供灌水爱好者发泄。

  【潜水】论坛有了水,自然也就可以潜水,潜水特指论坛里那些只看不回帖的人。因为这种行为,对论坛人气提升极为不利,所以这也是论坛管理者们和积极地发帖者们最恨的。就算你看了帖子,没什么想法,也可以顶一下嘛,又不掉块肉的喽!如果是长期不发言的潜水员,突然发言,则称为浮上来。

  【楼】有砖才能盖楼,一个帖子如果吸引人,就会有很多人回帖。第一个帖子和回帖,从上到下以时间顺序排列,下面的称上面的叫楼上,或者按次序称之为第N楼的。回帖的人有时也会相互讨论,楼上楼下打成一片,而这个一系列帖子的发起者(原帖)就成了楼主。

  【删帖】这是论坛管理员或者斑竹的特权,它可以根据论坛的基本规则,决定是否删除某人的帖子,一般是这些帖子违反了论坛不成文的规矩。然而删帖行为,经常会引发论坛管理者和发帖人之间激烈的矛盾。矛盾激化,有的高层斑竹甚至会封掉某些人的发帖权。

  【ID·头衔】论坛一般都是自由开放的。一般的浏览者都称为游客,许多论坛游客是不能发言的,要发言就必须成为正式成员,即注册ID,它是你在论坛的用户名。而一个优秀的论坛,还允许固定成员使用代表自己ID的可爱头像和个性签名。所谓签名,一般都是超好玩的Gif动画。至于头衔,一般是根据你在论坛的发帖或者回帖数量,自动产生的。

  【天外飞砖·拍砖】这是一种特别的帖子,其目的是中伤某人的网络名誉。所以在论坛成名成家者,要特别小心喔!至于拍砖,是指回帖时持批评态度。

  【水桶·水鬼·水仙·水王·水怪·水母】这些都是指灌水狂人,其中水母特指女性。

  网络通用辞典:叫叫版

  ◎我不叫我,叫———偶

  ◎年轻人不叫年轻人,叫———小P孩

  ◎蟑螂不叫蟑螂,叫———小强(来自于周星驰的《唐伯虎点秋香》)

  ◎什么不叫什么,叫———虾米

  ◎不要不叫不要,叫———表

  ◎喜欢不叫喜欢,叫———稀饭

  ◎这样子不叫这样子,叫———酱紫

  ◎好不叫好,叫———强

  ◎强不叫强,叫———弓虽

  ◎被无数蚊子咬了不叫被无数蚊子咬了,叫———~~~新蚊连啵~~~

  ◎追女孩不叫追女孩,叫———泡MM

  ◎看MM不叫看MM,叫———鉴定

  ◎兴奋不叫兴奋,叫———HIGH

  ◎吃喝不叫吃喝,叫———腐败

  ◎请人吃饭不叫请客,叫———反腐败

  ◎散步不叫散步,叫———溜溜

  ◎爸不叫爸,叫———DADY

  ◎妈妈不叫妈妈,叫———MAMY

偶:我
kick your ass:踢你的PP
FT,分特:faint的简称,晕倒。
统一:刷墙,扫楼的同义词。也就是整个版面都是你的回复,一种被谴责的行为。
XXXX的说:一种动词后置,比如吃饭的说
XXXXing:XXXX进行中,正在XXXX。比如上网ing
MM:妹妹
GG:哥哥
DD:弟弟
JJ:姐姐 鸡鸡
PLMM:漂亮美眉,浮云
XDJM:兄弟姐妹
PFPF:佩服佩服
PP:照片,但如果是说打PP,那就是kick your ass的意思了
BT:变态。和浮云的其他版块相比,水版是个BT出没的地方 扁他(她、它)
SL:色狼。浮云的特点是,狼多也MM多
BL:玻璃,不是指一种易碎品,而是同性恋
BC:白痴
YW:阳痿,不举
BD:笨蛋
RY:人妖
LM:流氓
YY:意淫
PG:屁股
GF:girl friend,女友
BF:boy friend,男友
kao,*,拷:粗口,慎用
MD:妈的,粗口,特别慎用!
***:, *** ,粗口,特别慎用!
TNND:他XXXX的,粗口,特别慎用!
JJWW:唧唧歪歪,指人说话的样子
S***:神经病
PMP:拍马屁
MPJ:马屁精
kick:扁
slap:打耳光
KH:葵花,就是练葵花宝典的高手,浮云某高手已练至化境,人皆不呼其名,而直呼KH。
KHBD:葵花宝典
PXJF:辟邪剑法,源于KHBD,KH专用的剑法
SM:Sadism & Masochism的缩写,性虐待或指(被)虐待狂
JS:*商
SP:support,支持
的微:一种语气助词,KH专用
呼呼,猪猪:睡觉
稀饭:喜欢
果酱:过奖
BXCM:冰雪聪明
LOL:Laugh Out Loud,大笑
KFC:Kxxx & Fxxx & Cxx,要是和某人有仇,就KFC他吧
PK:player kill,砍人,攻击,也可解释为先批后K
btw:by the way,顺便说一句
PS:两种意思,btw或者photoshop(一种电脑修图软件)
CU:see you,再见
BB:宝贝,情人,孩子,byebye,看具体使用
走召弓虽:超强
满清:满清十大酷刑,老祖宗的玩艺
咔嚓:砍了,yan了
酱紫:这样
饭饭:吃饭
片片:照片
斑竹,板猪:版主,论坛版块的管理人员,把水版比作个小店,他们就是店小二。
水桶,水鬼,水仙,水王,水母:指灌水狂人,水母特制女性
水手:浮云水版的芸芸众生
潜水员:就是那些喜欢看别人灌水自己不灌水的家伙
恐龙:长得难看的MM
抓狂:受不了刺激而行为失常
THX,3X:thanks,谢谢
sigh:叹息
cool:酷
gay:同性恋,BL
fag:同性恋,BL
pm:论坛的私信
zip it:闭嘴
leecher:吸血鬼,指只知道索取不懂得分享回报的家伙,被严重鄙视的人
DL:download,下载
PUB:网路上扫描到的ftp,可以临时起上传下载功能,也指把文件传到pubftp上共享的行为。
BRB:Be right back,马上回来
TTYL:Talk to you later,再见,下次回头再谈
BBL:be back later 过会回来
kick your ass:打你屁屁
R P W T:人品问题
PPL:people,人们
PLZ,PLS:please,请
bull *** , *** :胡说,废话
sorry ass:可怜的家伙,鄙视的意思
so so:一般
cutie:甜心
d*amn:*,他XX的
包子:某人长得难看或者笨就说他包子
粉:很,非常
菜鸟,小虾,初哥:就是初级水平的新人
老鸟,大虾:高手
木油:没有
蛋白质:BD+BC+S***
爱老虎油:I love U,我爱你
倒:晕倒,厥倒
表:不要,比如表太好,不要太好的意思。
咣当:晕倒发出的声音
9494:就是就是
猪娃:CCF传过来的口语,好孩子
爆头:游戏中引来的词汇,把某人打得脑袋开花
4242:是啊是啊
7456:气死我了
748:**
886,88:再见
847:别生气
987:就不去,就不去
55555:哭
XXX:儿童不宜的东西
blah-blah:反复说
厚厚,吼吼,咔咔,kaka,嘻嘻,xixi:语气助词
猪头党,锄头党,仙族一派,神族,魔族,女子别动队。。:浮云水版的帮派组织
浮通社:浮云水版的新闻机构
五朵金花:翠花,如花,木花,黑花,菜花,水版的5个BT男
小琳飞刀:某MM版主的独门暗器,江湖第一快刀
天外飞砖:某**两口子发明的一种极凶猛的暗器,据说让人生不如死
RPWT:人品問題
---------------------------------
稀飯 ______喜歡

米油_______沒有

索_________是

介锅________這個

D_________的

8___________不
Jan 23

数据库设计技巧(一)
--------------------------------------------------------------------------------

作者:allsky  
在动态网站的设计中,数据库设计的重要性不言而喻。如果设计不当,查询起来就非常吃力,程序的性能也会受到影响。无
论你使用的是mySQL或者Oracle数据库,通过进行正规化的表格设计,可以令你的PHP代码更具可读性,更容易扩展,从而
也会提升应用的性能。

  简单说来,正规化就是在表格设计时,消除冗余性和不协调的从属关系。在本文中,我将通过五个渐进的过程来告诉
你在设计中应该了解的正规化技巧。从而建立一个可行而且
效率高的数据库。本文也会详细分析一下可以利用的关系类型。

  这里假定我们要建立一个用户信息的表格,其中要存储用户的名字、公司、公司地址和一些个人的收藏夹或url。在开
始时,你可能定义一个如下的表格结构:

  零状态形式

  users

  name company company_address url1 url2

  Joe ABC 1 Work Lane abc.com xyz.com

  Jill XYZ 1 Job Street abc.com xyz.com

  由于没有进行任何的正规化处理,我们将这种形式的表称为零状态形式的表。留意其中的url1和url2字段---如果我们
在应用中需要第三个url呢?这样你就要在表格中多加一列,很明显,这不是一个好办法。如果你要创建一个富有扩展性的
系统,你就要考虑使用第一个正规化的形式,并且应用到该表格中。

  第一级正规化形式

  1.消除每个表格中重复的组

  2.为每套相关的数据建立一个独立的表格

  3.使用一个主键来标识每套相关的数据

  以上的表格明显违反了上面第一条的规定,那么第三条的主键又是什么意思呢?很简单,它只是在每个记录中加入一
个唯一的、自动增加的整型值。通过这个值,就可以将两个姓名一样的记录区分开来。通过应用第一级正规化形式,我们
得到了以下的表格:

  users

  userId name company company_address url

  1 Joe ABC 1 Work Lane abc.com

  1 Joe ABC 1 Work Lane xyz.com

  2 Jill XYZ 1 Job Street abc.com

  2 Jill XYZ 1 Job Street xyz.com

  现在我们的表格可以说已经处在第一级正规化的形式了,它已经解决了url字段的限制问题,不过这样的处理后又带来
了一个新的问题。每次在user表中插入一条记录的时候,我们都必须重复所有的公司和用户数据。这样不仅令数据库比以
前大了,而且很容易出错。因此还要经过第二级正规化处理。

数据库设计技巧(二)
--------------------------------------------------------------------------------

作者:allsky  
1.为应用在多条记录的字段建立独立的表格

  2.通过一个foreign key来关联这些表格的值


  我们将url的值放在一个独立的表格中,这样我们就可以在以后加入更多的数据,而无需担心产生重复的值。我们还通
过主键值来关联这些字段:

  users

  userId name company company_address

  1 Joe ABC 1 Work Lane

  2 Jill XYZ 1 Job Street

  urls

  urlId relUserId url

  1 1 abc.com

  2 1 xyz.com

  3 2 abc.com

  4 2 xyz.com

  如上所示,我们创建了独立的表格,users表中的主键userid现在与url表中的foreign key relUserId关联。现在的情
况好象已经得到了明显的改善。不过,如果我们要为ABC公司加入一个员工记录呢?或者更多,200个?这样我们就必须重
复使用公司名和地址,这明显不够冗余。因此我们将应用第三级正规化方法:

  第三级正规化形式

  1.消除不依赖于该键的字段

  公司名及地址与User Id都是没有关系的,因此它们应用拥有自己的公司Id:

  users

  userId name relCompId

  1 Joe 1

  2 Jill 2

  companies

  compId company company_address

  1 ABC 1 Work Lane

  2 XYZ 1 Job Street

  urls

  urlId relUserId url

  1 1 abc.com

  2 1 xyz.com

  3 2 abc.com

  4 2 xyz.com

  这样我们就将companies表中的主键comId和users表中名字为relCompId的foreign key关联起来,就算为ABC公司加入
200个员工,在companies中也只有一条记录。我们的users和urls表可以不断地扩大,而无需担心插入不必要的数据。大部
分的开发者都认为经过三步的正规化就足够了,这个数据库的设计已经可以很方便地处理整个企业的负担,此看法在大多
数的情况下是正确的。

  我们可以留意一下URL的字段--你注意到数据的冗余了吗?如果给用户用户输入这些url数据的HTML页面是一个文本
框,可任意输入的话,这并没有问题,两个用户输入同样收藏夹的概率较少,不过,如果是通过一个下拉式的菜单,只让
用户选择两个url输入,或者更多一点。这种情况下,我们的数据库还可以进行下一级别的优化--第四步,对于大多数的开
发者来说,这一步都是忽略的,因为它要依赖一个很特别的关系--一个多对多的关系,这在我们的应用中是还没有遇到过的.

数据库设计技巧(三)
--------------------------------------------------------------------------------

作者:allsky  
  在定义第四个正规化的形式前,我想首先提一下三种基本的数据关系:一对一,一对多和多对多。我们回头看一下经
过第一个正规化的users表。要是我们将url的字段放在一个独立的表中,每次在users表中插入一个记录,我们就会在urls
表中插入一行。我们将得到一个一对一的关系:用户表中的每一行,都将在urls表中找到相应的一行。对于我们的应用来
说,这既不实用也不标准。

  然后看看第二个正规化的例子。对于每个用户记录,我们的表格允许有多个urls的记录与之关联。这是一个一对多的
关系,这是一个很常见的关系。

  对于多对多的关系来说,就有点复杂了。在我们的第三个正规化形式的例子中,我们的一个用户与很多的url有关,而
我们想将该结构变为允许多个用户与多个的urls有关,这样我们就可以得到一个多对多的结构。在讨论前,我们先看看表
格结构会有些什么变化

  users

  userId name relCompId

  1 Joe 1

  2 Jill 2

  companies

  compId company company_address

  1 ABC 1 Work Lane

  2 XYZ 1 Job Street

  urls

  urlId url

  1 abc.com

  2 xyz.com

  url_relations

  relationId relatedUrlId relatedUserId

  1 1 1

  2 1 2

  3 2 1

  4 2 2

  为了进一步减低数据的冗余,我们运用第四级正规化形式。我们创建了一个颇奇怪的url_relations表,里面的字段均
为主键或者foreign key。通过这个表,我们就可以消除urls表中的重复项目。以下是第四个正规化形式的具体要求:

  第四个正规化形式

  1.在一个多对多的关系中,独立的实体不能存放在同一个表格中

  由于它仅应用于多对多的关系,因此大多数的开发者可以忽略这条规定。不过在某些情况下,它是非常实用的,这个
例子就是这样,我们通过将相同的实体分离出来,并且将关系移到它们自己的表格中,从而改进了urls表格。

  为了令你更容易明白,我们举个具体的例子,以下将用一个SQL语句选择出所有属于joe的urls:

  SELECT name, url FROM users, urls, url_relationsswheresurl_relations.relatedUserId = 1 AND
users.userId = 1 AND urls.urlId = url_relations.relatedUrlId

  如果我们想要遍历每个人的个人信息和url信息,我们可以这样做:

  SELECT name, url FROM users, urls, url_relationsswheresusers.userId = url_relations.relatedUserId AND
urls.urlId = url_relations.relatedUrlId

  第五级正规化形式

  还有一级正规化的形式,它并不常见,有点深奥,并且在大部分的情况下都是不必要的。它的原则是:

  1.原来的表格必须可以通过由它分离出去的表格重新构建

  使用这个规定的好处是,你可以确保不会在分离的表格中引入多余的列,所有你创建的表格结构都与它们的实际需要
一样大。应用这条规定是一个好习惯,不过除非你要处理一个非常大型的数据,否则你将不需要用到它。

  希望这篇文章对你有用,并且可以帮助你在所有的项目中应用这些正规化的规定。你可能想知道这些方法是从哪来
的,我可以告诉你,前面三个正规化的规定是1972年,Dr. E.F. Codd在他的论文“进一步正规化数据库的关系模型中”提
出的,其余的规定是经过后来的集合理论和关系数学家理论化的。评论:正所谓物级必反,将表格分得过细有时并不好,
因为这样需要将各表进行各种的关联,这会令查询时变得复杂,而且效率也可能降低,这些正规化的规定可以参考,在实
际应用时,要根据项目的大小,必要时可以进行一些测试,以设计出更合理的表格结构。

Dec 24
  1. 从数据库结构做起
    1. 字段类型的定义时遵循以下规则:
      1. 选用字段长度最小
      2. 优先使用定长型
      3. 尽可能的定义 "NOT NULL"
      4. 数值型字段中避免使用 "ZEROFILL"
      5. 如果要储存的数据为字符串, 且可能值已知且有限, 优先使用 enum 或 set
    2. 索引的优化至关重要(以下如果没有特殊说明, 均指查询密集的情况)
      1. 被索引的字段的长度越小, 该索引的效率越高
      2. 被索引的字段中, 值的重复越少, 该索引的效率越高
      3. 查询语句中, 如果使用了 "group" 子句, 根据其中字段出现的先后顺序建立多字段索引
      4. 查询语句中, 如果使用了 "distinct", 根据其中字段出现的先后顺序建立多字段索引
      5. "where" 子句中, 出现对同一表中多个不同字段的 "and" 条件时, 按照字段出现的先后顺序建立多字段索引
      6. "where" 子句中, 出现对同一表中多个不同字段的 "or" 条件时, 对重复值最少的字段建立单字段索引
      7. 进行 "内/外连接" 查询时, 对 "连接字段" 建立索引
      8. 对 "主键" 的 "unique" 索引 毫无意义, 不要使用
      9. 被索引字段尽可能的使用 "NOT NULL" 属性
      10. 对写入密集型表, 尽量减少索引, 尤其是 "多字段索引" 和 "unique" 索引
  2. 查询语句的优化
    1. 多多利用 "explain" 查询索引使用情况, 以便找出最佳的查询语句写法和索引设置方案
    2. 慎用 "select *", 查询时只选出必须字段
    3. 查询使用索引时, 所遍历的索引条数越少, 索引字段长度越小, 查询效率越高 (可使用 "explain" 查询索引使用情况)
    4. 避免使用 mysql 函数对查询结果进行处理, 将这些处理交给客户端程序负责
    5. 使用 "limit" 时候, 尽量使 "limit" 出的部分位于整个结果集的前部, 这样的查询速度更快, 系统资源开销更低
    6. 在 "where" 子句中使用多个字段的 "and" 条件时, 各个字段出现的先后顺序要与多字段索引中的顺序相符
    7. 在 "where" 子句 中使用 "like" 时, 只有当通配符不出现在条件的最左端时才会使用索引
    8. 在 mysql 4.1 以上版本中, 避免使用子查询, 尽量使用 "内/外连接" 实现此功能
    9. 减少函数的使用, 如果可能的话, 尽量用单纯的表达式来代替
    10. 避免在 "where" 子句中, 对不同字段进行 "or" 条件查询, 将其拆分成多个单一字段的查询语句效率更高
Dec 20

  Apache服务器的主要安全缺陷

  正如我们前言所说尽管Apache服务器应用最为广泛,设计上非常安全的程序。但是同其它应用程序一样,Apache也存在安全缺陷。毕竟它是完全源代码,Apache服务器的安全缺陷主要是使用HTTP协议进行的拒绝服务攻击(denial of service)、缓冲区溢出攻击以及被攻击者获得root权限三缺陷和最新的恶意的攻击者进行“拒绝服务”(DoS)攻击。合理的网络配置能够保护Apache服务器免遭多种攻击。我们来介绍一下主要的安全缺陷:

  (1)使用HTTP协议进行的拒绝服务攻击(denial of service)的安全缺陷

  这种方法攻击者会通过某些手段使服务器拒绝对HTTP应答。这样会使Apache对系统资源(CPU时间和内存)需求的剧增,最终造成Apache系统变慢甚至完全瘫痪。

  (2)缓冲区溢出的安全缺陷

  该方法攻击者利用程序编写的一些缺陷,使程序偏离正常的流程。程序使用静态分配的内存保存请求数据,攻击者就可以发送一个超长请求使缓冲区溢出。

  (3)被攻击者获得root权限的安全缺陷

  该安全缺陷主要是因为Apache服务器一般以root权限运行(父进程),攻击者会通过它获得root权限,进而控制整个Apache系统。

  (4)恶意的攻击者进行“拒绝服务”(DoS)攻击的安全缺陷

  这个最新在6月17日发现的漏洞,它主要是存在于Apache的chunk encoding中,这是一个HTTP协议定义的用于接受web用户所提交数据的功能。 所有说使用最高和最新安全版本对于加强Apache Web服务器的安全是至关重要的。

  请广大Apache服务器管理员去http://www.apache.org/dist/httpd/下载补丁程序以确保其WEB服务器安全!

  正确维护和配置Apache服务器

  虽然Apache服务器的开发者非常注重安全性,由于Apache服务器其庞大的项目, 难免会存在安全隐患。正确维护和配置Apache WEB服务器就很重要了。我们应注意的一些问题:

  (1)Apache服务器配置文件

  Apache Web服务器主要有三个配置文件,位于/usr/local/apache/conf目录下。 这三个文件是:

  httpd.conf----->主配置文件
  srm.conf------>填加资源文件
  access.conf--->设置文件的访问权限

  注:具体配置可以参考:http://httpd.apache.org/docs/mod/core.html

  (2)Apache服务器的目录安全认证

  在Apache Server中是允许使用 .htaccess做目录安全保护的,欲读取这保护的目录需要先键入正确用户帐号与密码。这样可做为专门管理网页存放的目录或做为会员区等。在保护的目录放置一个档案,档名为.htaccss
  AuthName "会员专区"
  AuthType "Basic"
  AuthUserFile "/var/tmp/xxx.pw" ----->把password放在网站外 require valid-user 到apache/bin目录,建password档 % ./htpasswd -c /var/tmp/xxx.pw username1 ----->第一次建档要用参数"-c" % /htpasswd /var/tmp/xxx.pw username2 这样就可以保护目录内的内容,进入要用合法的用户.

  注:采用了Apache内附的模组。

  也可以采用在httpd.conf中加入: 
  options indexes followsymlinks 
  allowoverride authconfig 
  order allow,deny 
  allow from all 

  (3)Apache服务器访问控制

  我们就要看三个配置文件中的第三个文件了,即access.conf文件,它包含一些指令控制允许什么用户访问Apache目录。应该把deny from all设为初始化指令,再使用allow from指令打开访问权限。

  <directory /usr/local/http/docs/private>
  <limit>
  order deny,allow
  deny from all
  allow from safechina.net
  </limit>
  </directory>
  设置允许来自某个域、IP地址或者IP段的访问。


  (4)Apache服务器的密码保护问题

  我们再使用.htaccess文件把某个目录的访问权限赋予某个用户。系统管理员需要在httpd.conf或者rm.conf文件中使用 AccessFileName指令打开目录的访问控制。如:

  AuthName PrivateFiles
  AuthType Basic
  AuthUserFile /path/to/httpd/users
  require Phoenix
  # htpasswd -c /path/to/httpd/users Phoenix

  设置Apache服务器的WEB和文件服务器

  我们在Apache服务器上存放WEB服务器的文件,供用户访问,并设置/home/ftp/pub目录为文件存放区域,用http://download.your.com/pub/来访问。在防火墙上设置apache反向代理技术,由防火墙代理访问。 
 
  (1)Apache服务器的设置 

  apache服务器采用默认配置。主目录为/home/httpd/html,主机域名为Phoenix.your.com, 且别名到www.your.com中, 并且设置srm.conf加一行别名定义如下:

  Alias /pub /home/ftp/pub/ 

  更改默认应用程序类型定义如下: 
  DefaultType application/octet-stream 

  最后在/etc/httpd/conf/access.conf中增加一项定义 
  Options Indexes 
  AllowOverride AuthConfig 
  order allow,deny 
  allow from all 

  注:Options Indexes允许在找不到index.html文件的情况下允许列出目录/文件列表。AllowOverride AuthConfig允许做基本的用户名和口令验证。这样的话,需要在/home/ftp/pub目录下放入.htaccess,内容如下: 
  [root@ pub]# more .htaccess 
  AuthName Branch Office Public Software Download Area 
  AuthType Basic 
  AuthUserFile /etc/.usrpasswd 
  require valid-user 
  用# htpasswd -c /etc/.usrpasswd user1  分别创建不同的允许访问/pub下文件服务的外部用户名和口令。
 
  (2)在防火墙上配置反向代理技术.
 
  在/etc/httpd/conf/httpd.conf  中加入 NameVirtualHost xxx.xxx.xxx.xxx # xxx.xxx.xxx.xxx ----->是防火墙外部在互联网上永久IP地址 
  servername www.your.com 
  errorlog /var/log/httpd/error_log 
  transferlog /var/log/httpd/access_log 
  rewriteengine on 
  proxyrequests off 
  usecanonicalname off 
  rewriterule ^/(.*)$ http://xxx.xxx.xx.x/$1 Apache服务器的IP地址。

  servername http://download.your.com/pub/
  errorlog /var/log/httpd/download/error_log 
  transferlog /var/log/httpd/download/access_log 
  rewriteengine on 
  proxyrequests off 
  usecanonicalname off 
  rewriterule ^/(.*)$ http://xxx.xxx.xx.x/$1 同上Apache服务器的IP地址。

  设置防火墙上的DNS,让download.your.com和www.your.com 都指向防火墙的外部网地址xxx.xxx.xxx.xxx。
用http://www.your.com访问主页,用http://download.your.com/pub/访问公共文件的下载区。

  注:还需要在apache服务器主机上建立目录/var/log/httpd/download/,否则会出错。另外,也可以设置防火墙主机上的/home/httpd/html/index.html的属性为750来阻止访问,这是防外部用户能访问到防火墙上的Apache服务器的http://www.your.com中。 

  总结:Apache Server是一个非常优秀,非常棒的服务器,只要你正确配置和维护好Apache服务器,
你就会感受到Apache Server 所带来的好处,同样希望你能够通过阅读本文达到理论和实践双丰收的目的。
谢谢。

Dec 16
一、认知篇
  MYSQL初学者使用指南与介绍
  学习MySQL常用操作命令
  学习MySQL多表操作和备份处理
  Mysql数据库学习心得(1)
  Mysql数据库学习心得(2)


  二、常见问题集锦

  MySQL总是崩溃

  首先你应该试着找出问题mysqld守护进程是否死掉或你的问题是否与你的客户有关。你可以用mysqladmin version检查你的mysqld服务器正常执行了多长时间,如果mysqld死了,你可以在文件“mysql-data-directory/'hostname'.err”中找到其原因。

  使用MySQL时的一些常见错误

  MySQL server has gone away

  常见的原因是服务器超时了并且关闭了连接。缺省地,如果没有事情发生,服务器在 8个小时后关闭连接。你可在启动mysqld时通过设置wait_timeout变量改变时间限制。

  如果mysqld得到一个太大或不正常的包,它认为客户出错了并关闭连接。

  Can't connect to [local] MySQL server

  通常意味着没有一个MySQL服务器运行在系统上或当试图连接mysqld服务器时,你正在使用一个错误的套接字文件或TCP/IP端口。

  检查(使用ps)服务器上是否有一个名为mysqld的进程启动

  如果一个mysqld进程正在运行,可以通过尝试这些不同的连接来检查服务器

shell> mysqladmin version

shell> mysqladmin variables

shell> mysqladmin -h `hostname` version variables

shell> mysqladmin -h `hostname` --port=3306 version

shell> mysqladmin -h 'ip for your host' version

shell> mysqladmin --socket=/tmp/mysql.sock version

  注意hostname命令使用反引号“`”而非正引号“'”;这些导致hostname输出(即,当前主机名)被代替进mysqladmin命令中。
  Host '...' is blocked错误

Host 'hostname' is blocked because of many connection errors.

Unblock with 'mysqladmin flush-hosts'

  这意味着,mysqld已经得到了大量(max_connect_errors)的主机'hostname'的在中途被中断了的连接请求。在max_connect_errors次失败请求后,mysqld认定出错了(象来字一个黑客的攻击),并且阻止该站点进一步的连接,直到某人执行命令mysqladmin flush-hosts。

缺省地,mysqld在10个连接错误后阻塞一台主机。你可以通过象这样启动服务器很容易地调整它:

shell> safe_mysqld -O max_connect_errors=10000 &


  Too many connections错误

  意味着已经有max_connections个客户连接了mysqld服务器。

  如果你需要比缺省(100)更多的连接,那么你应该重启mysqld,用更大的 max_connections 变量值。


  Out of memory错误

mysql: Out of memory at line 42, 'malloc.c'

mysql: needed 8136 byte (8k), memory in use: 12481367 bytes (12189k)

ERROR 2008: MySQL client ran out of memory

  注意,错误指向了MySQL客户mysql。这个错误的原因很简单,客户没有足够的内存存储全部结果。

  首先检查你的查询是否正确

  Packet too large错误


  一个MySQL客户或mysqld服务器得到一个比max_allowed_packet个字节长的包

  可以通过用mysql --set-variable=max_allowed_packet=8M指定一个更大的缓冲区来启动客户程序。


  The table is full错误

  这个错误发生在内存临时表变得比tmp_table_size字节大时。

  Commands out of sync in client错误

  正在以错误的次序调用客户函数!

  Ignoring user错误

Found wrong password for user: _user@some_host'">'some_user@some_host'; Ignoring user

  这意味着在mysqld启动时或在它再次装载权限表时,它在user表中找到了一个有一个无效口令的条目。结果,条目简单地被权限系统忽略。

  Table 'xxx' doesn't exist错误

  数据库和表名件是区分大小写的!可以用SHOW TABLES检查你在当前数据库中有哪个表。


  从一个文本文件运行SQL命令

  可以把SQL命令放在一个文件中并且告诉mysql从该文件读取其输入:创造一个文本文件“text_file”,它包含要执行的命令。然后如下调用mysql:

shell> mysql database < text_file

  或

shell> mysql < text_file

  启动有USE db_name语句的文本文件。


  怎样重新设置一个忘记的口令

  如果忘记了MySQL的root用户的口令,可以使用如下方法恢复:

  通过发送一个kill(不是kill -9)到mysqld服务器来关闭mysqld服务器。pid 被保存在一个.pid文件中,通常在MySQL数据库目录中:

  kill `cat /mysql-data-directory/hostname.pid`

  你必须是一个UNIX root用户或运行服务器的相同用户做这个。

  使用--skip-grant-tables选项重启mysqld。

  用mysql -h hostname mysql连接mysqld服务器并且用一条GRANT命令改变口令。见7.26 GRANT和REVOKE句法。也可以用mysqladmin -h hostname -u user password 'new password' 进行。

  用mysqladmin -h hostname flush-privileges或用SQL命令FLUSH PRIVILEGES来装载权限表。


  使用DATE列的问题

  DATE值的格式是'YYYY-MM-DD'。


  改变一张表中列的顺序

  在一个应用程序中,应该决不基于他们的位置使用SELECT * 检索列,因为被返回的列的顺序永远不能保证;对数据库的一个简单改变可能导致应用程序相当有戏剧性地失败。

  可以使用如下方法改变:

  以正确的列顺序创建一张新表。

  执行INSERT INTO new_table SELECT fields-in-new_table-order FROM old_table.

  删除或改名old_table。

  ALTER TABLE new_table RENAME old_table。

  数据库复制

  MySQL(至今)没有数据库复制,但是有一些如何实现的信息。

  复制一个数据库最一般的方法是使用更新日志。

  数据库备份

  为了得到一个一致的备份,在相关的表上做一个LOCK TABLES。你只需一个读锁定;当你在数据库目录中做文件的一个拷贝时,这允许其他线程继续查询该表。如果你想要做一个SQL级的备份,你可以SELECT INTO OUTFILE。

  备份一个数据库的另一个方法是使用mysqldump程序:

  为你的数据库做一个完整的备份:

shell> mysqldump --tab=/path/to/some/dir --opt --full

 
  你也可以简单地拷贝所有的表文件(“*.frm”、“*.MYD”和“*.MYI”文件),只要服务器不在更新任何东西。

  停止mysqld如果它正在运行,然后以--log-update选项启动它。你将得到一个名为“hostname.n”形式的日志文件, 这里n是随着你每次执行mysqladmin refresh或mysqladmin flush-logs、FLUSH LOGS语句、或重启服务器而递增的一个数字。这些日志文件向你提供了在你执行mysqldump处后面进行的复制数据库改变的所需信息。

  如果你必须恢复一些东西,尝试首先用myisamchk -r恢复你的表。这应该处理所有情况的99.9%。如果myisamchk失败,尝试下列过程:


  恢复原来的mysqldump备份。

  执行下列命令以再次运行更新日志中的更改:

shell> ls -1 -t -r hostname.[0-9]* | xargs cat | mysql


  ls被用来以正确的顺序得到所有的日志文件。


  你也可以与SELECT * INTO OUTFILE 'file_name' FROM tbl_name做有选择的备份并且用LOAD DATA INFILE 'file_name' REPLACE ...恢复。为了避免重复记录,在表中你需要一个PRIMARY KEY或UNIQUE键。当在唯一键值上一个新记录与一个老记录重复时,REPLACE关键词使得老记录用一个新记录替代。

  三、MySQL惯用技巧

_blank>用delphi解决MySQL数据库中无图形界面的问题
_blank>MySQL索引分析和优化
_blank>去掉MySQL中的噪声
_blank>PHP页面时而工作,时而不工作
_blank>创建一个带有MUL列的表
_blank>MyISAM和外键支持
_blank>添加并不存在于公司图表里的公司雇员
_blank>MERGE图表的性能
_blank>在同一台服务器上的MySQL和Active Directory
_blank>更新和删除的层叠
_blank>触发器和MySQL
_blank>从处理日志中恢复记录
_blank>分析索引
_blank>带有子查寻的1064查寻错误
_blank>得到错误1006: 不能生成数据库
_blank>管理MySQL的GUI工具
_blank>MySQL是关联的吗?
_blank>将SQL Server的安装迁移到MySQL
_blank>MySQL的存储过程支持
_blank>MySQL中的SQL-- TEXT、DATE、和SET数据类型
_blank>使用MySql
分页: 22/26 第一页 上页 17 18 19 20 21 22 23 24 25 26 下页 最后页 [ 显示模式: 摘要 | 列表 ]