华硕笔记本的bios里的boot选项怎么没有硬盘启动项?

华硕笔记本的bios里的boot选项怎么没有硬盘启动项?,第1张

华硕笔记本的bios里的boot选项没有硬盘启动项可能是因为硬盘启动项误删除,具体解决步骤如下:

1、首先我们将电脑开机,开机时连续按F10进入bios设置界面。

2、进入BIOS设置我们按F9恢复出厂设置,找到Security一栏。

3、找到Security一栏后找到Secure boot menu回车进入。

4、然后我们找到Secure Boot Control设置为关闭状态。

5、然后我们找到Boot一栏找到Lanuch CSM设置打开,Launch PXE OpROM policy设置关闭状态。

6、然后我们按F10保存退出即可,其中Enabled为打开,Disabled为关闭。通过以上步骤我们即可在bios中恢复硬盘启动项。

1ERP
所谓ERP是英文Enterprise Resource Planning(企业资源计划)的简写。
是指建立在信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手段的管理平台。ERP系统集中信息技术与先进的管理思想於一身,成为现代企业的运行模式,反映时代对企业合理调配资源,最大化地创造社会财富的要求,成为企业在信息时代生存、发展的基石。
Gartner Group提出ERP具备的功能标准应包括四个方面:
1超越MRPⅡ范围的集成功能
包括质量管理;试验室管理;流程作业管理;配方管理;产品数据管理;维护管理;管制报告和仓库管理。
2支持混合方式的制造环境
包括既可支持离散又可支持流程的制造环境;按照面向对象的业务模型组合业务过程的能力和国际范围内的应用。
3支持能动的监控能力,提高业务绩效
包括在整个企业内采用控制和工程方法;模拟功能;决策支持和用于生产及分析的图形能力。
4支持开放的客户机/服务器计算环境
包括客户机/服务器体系结构;图形用户界面(GUI);计算机辅助设计工程(CASE),面向对象技术;使用SQL对关系数据库查询;内部集成
的工程系统、商业系统、数据采集和外部集成 (EDI)。
ERP是对MRPⅡ的超越,从本质上看,ERP仍然是以MRPⅡ为核心,但在功能和技术上却超越了传统的MRPⅡ,它是以顾客驱动的、基于时
间的、面向整个供应链管理的企业资源计划。
进一步地,我们可以从管理思想、软件产品、管理系统三个层次给出它的定义:
1.是由美国著名的计算机技术咨询和评估集团Garter Group Inc提出的一整套企业管理系统体系标准,其实质是在MRP II(Manufacturing Resources Planning,“制造资源计划”) 基础上进一步发展而成的面向供应链(Supply Chain)的管理思想;
2.是综合应用了客户机/服务器体系、关系数据库结构、面向对象技术、图形用户界面、第四代语言(4GL)、网络通讯等信息产业成果,以ERP管理思想为灵魂的软件产品;
3.是整合了企业管理理念、业务流程、基础数据、人力物力、计算机硬件和软件于一体的企业资源管理系统。
它是从MRP(物料资源计划)发展而来的新一代集成化管理信息系统,它扩展了MRP的功能,其核心思想是供应链管理,它跳出了传统企业边界,从供应链范围去优化企业的资源,是基于网络经济时代的新一代信息系统。它对于改善企业业务流程、提高企业核心竞争力的作用是显而易见的。ERP是在20世纪80年代初开始出现的。从90年代开始,以SAP、Oracle为代表的国际著名ERP产品进入中国,并迅速扩展。接着,国内也相继出现了一些早期ERP产品,例如开思ERP、利玛ERP、和佳ERP及博科ERP等。
ERP系统的特点及核心内容包括有:
·企业内部管理所需的业务应用系统,主要是指财务、物流、人力资源等核心模块。
·物流管理系统采用了制造业的MRP管理思想;FMIS有效地实现了预算管理、业务评估、管理会计、ABC成本归集方法等现代基本财务管理方法;人力资源管理系统在组织机构设计、岗位管理、薪酬体系以及人力资源开发等方面同样集成了先进的理念。
·ERP系统是一个在全公司范围内应用的、高度集成的系统。数据在各业务系统之间高度共享,所有源数据只需在某一个系统中输入一次,保证了数据的一致性。�
·对公司内部业务流程和管理过程进行了优化,主要的业务流程实现了自动化。
·采用了计算机最新的主流技术和体系结构:B/S、INTERNET体系结构,WINDOWS界面。在能通信的地方都可以方便地接入到系统中来。�
·集成性、先进性、统一性、完整性、开放性。
具体来讲,ERP与企业资源的关系、ERP的作用以及与信息技术的发展的关系等可以表述如下:
1 企业资源与ERP
厂房、生产线、加工设备、检测设备、运输工具等都是企业的硬件资源,人力、管理、信誉、融资能力、组织结构、员工的劳动热情等就是企业的软件资源。企业运行发展中,这些资源相互作用,形成企业进行生产活动、完成客户订单、创造社会财富、实现企业价值的基础,反映企业在竟争发展中的地位。
ERP系统的管理对象便是上述各种资源及生产要素,通过ERP的使用,使企业的生产过程能及时、高质地完成客户的订单,最大程度地发挥这些资源的作用,并根据客户订单及生产状况做出调整资源的决策。
2 调整运用企业资源
企业发展的重要标志便是合理调整和运用上述的资源,在没有ERP这样的现代化管理工具时,企业资源状况及调整方向不清楚,要做调整安排是相当困难的,调整过程会相当漫长,企业的组织结构只能是金字塔形的,部门间的协作交流相对较弱,资源的运行难於比较把握,并做出调整。信息技术的发展,特别是针对企业资源进行管理而设计的ERP系统正是针对这些问题设计的,成功推行的结果必使企业能更好地运用资源。
3 信息技术对资源管理作用的阶段发展过程
计算机技术特别是数据库技术的发展为企业建立管理信息系统,甚至对改变管理思想起著不可估量的作用,管理思想的发展与信息技术的发展是互成因果的环路。而实践证明信息技术已在企业的管理层面扮演越来越重要的角色。
信息技术最初在管理上的运用,也是十分简单的,主要是记录一些数据,方便查询和汇总,而现在发展到建立在全球Internet基础上的跨国家,跨企业的运行体系,初略可分作如下阶段:
A MIS系统阶段( Management Information System)
企业的信息管理系统主要是记录大量原始数据、支持查询、汇总等方面的工作。
B MRP阶段(Material Require Planning)
企业的信息管理系统对产品构成进行管理,借助计算机的运算能力及系统对客户订单、在库物料、产品构成的管理能力,实现依据客户订单,按照产品结构清单展开并计算物料需求计划。实现减少库存,优化库存的管理目标。
C MRPⅡ阶段(Manufacture Resource Planning)
在MRP管理系统的基础上,系统增加了对企业生产中心、加工工时、生产能力等方面的管理,以实现计算机进行生产排程的功能,同时也将财务的功能囊括进来,在企业中形成以计算机为核心的闭环管理系统,这种管理系统已能动态监察到产、供、销的全部生产过程。
D ERP阶段(Enterprise Resource Planning)
进入ERP阶段后,以计算机为核心的企业级的管理系统更为成熟,系统增加了包括财务预测、生产能力、调整资源调度等方面的功能。配合企业实现JIT管理全面、质量管理和生产资源调度管理及辅助决策的功能。成为企业进行生产管理及决策的平台工具。
E 电子商务时代的ERP
Internet技术的成熟为企业信息管理系统增加与客户或供应商实现信息共享和直接的数据交换的能力,从而强化了企业间的联系,形成共同发展的生存链,体现企业为达到生存竟争的供应链管理思想。ERP系统相应实现这方面的功能,使决策者及业务部门实现跨企业的联合作战。
由此可见,ERP的应用的确可以有效地促进现有企业管理的现代化、科学化,适应竞争日益激烈的市场要求,它的导入,已经成为大势所趋。
举个例子说明:
一天中午,丈夫在外给家里打电话:“亲爱的老婆,晚上我想带几个同事回家吃饭可以吗?”(订货意向)
妻子:“当然可以,来几个人,几点来,想吃什么菜?”
丈夫:“6个人,我们7点左右回来,准备些酒、烤鸭、番茄炒蛋、凉菜、蛋花汤……。你看可吗?”(商务沟通)
妻子:“没问题,我会准备好的。”(订单确认)
妻子记录下需要做的菜单(MPS计划),具体要准备的东西:鸭、酒、番茄、鸡蛋、调料……(BOM物料清单),发现需要:1只鸭蛋,5瓶酒,4个鸡蛋……(BOM展开),炒蛋需要6个鸡蛋,蛋花汤需要4个鸡蛋(共用物料)。
打开冰箱一看(库房),只剩下2个鸡蛋(缺料)。
来到自由市场,妻子:“请问鸡蛋怎么卖?”(采购询价)
小贩:“1个1元,半打5元,1打95元。”
妻子:“我只需要8个,但这次买1打。”(经济批量采购)
妻子:“这有一个坏的,换一个。”(验收、退料、换料)
回到家中,准备洗采、切菜、炒菜……(工艺线路),厨房中有燃气灶、微波炉、电饭煲……(工作中心)。
妻子发现拨鸭毛最费时间(瓶颈工序,关键工艺路线),用微波炉自己做烤鸭可能来不及(产能不足),于是在楼下的餐厅里买现成的(产品委外)。
下午4点,接到儿子的电话:“妈妈,晚上几个同学想来家里吃饭,你帮忙准备一下。”(紧急订单)
“好的,你们想吃什么,爸爸晚上也有客人,你愿意和他们一起吃吗?”
“菜你看着办吧,但一定要有番茄炒鸡蛋,我们不和大人一起吃,6:30左右回来。”(不能并单处理)
“好的,肯定让你们满意。”(订单确定)
“鸡蛋又不购了,打电话叫小店送来。”(紧急采购)
6:30,一切准备就绪,可烤鸭还没送来,急忙打电话询问:“我是李太,怎么订的烤鸭还不送来?”(采购委外单跟催)
“不好意思,送货的人已经走了,可能是堵车吧,马上就会到的。”
门铃响了。
“李太太,这是您要的烤鸭。请在单上签一个字。”(验收、入库、转应付账款)
6:45,女儿的电话:“妈妈,我想现在带几个朋友回家吃饭可以吗?”(呵呵,又是紧急订购意向,要求现货)
“不行呀,女儿,今天妈已经需要准备两桌饭了,时间实在是来不及,真的非常抱歉,下次早点说,一定给你们准备好。”(哈哈,这就是ERP的使用局限,要有稳定的外部环境,要有一个起码的提前期)。
送走了所有客人,疲惫的妻子坐在沙发上对丈夫说:“亲爱的,现在咱们家请客的频率非常高,应该要买些厨房用品了(设备采购),最好能再雇个小保姆(连人力资源系统也有缺口了)。
丈夫:“家里你做主,需要什么你就去办吧。”(通过审核)
妻子:“还有,最近家里花销太大,用你的私房钱来补贴一下,好吗?”(最后就是应收货款的催要)
记住,每一个合格的家庭主妇都是生产厂长的有力竞争者。
>将这段导入数据,并做好与sql的连接
use kaoqin
--员工考勤记录修改日志
CREATE TABLE CHECKEXACT (
EXACTID INT IDENTITY(1,1) NOT NULL , --修改日志ID
USERID INT NULL DEFAULT 0, --员工ID号
CHECKTIME DATETIME NULL DEFAULT 0, --签到/签退时间
CHECKTYPE VARCHAR (2) NULL DEFAULT 0, --原来的签到/签退标志:I-签到,O-签退
ISADD SMALLINT NULL DEFAULT 0, --是否新增的记录
YUYIN VARCHAR (25) NULL , --修改考勤记录的原因
ISMODIFY SMALLINT NULL DEFAULT 0, --是否仅仅是修改原始记录
ISDELETE SMALLINT NULL DEFAULT 0, --是否是删除的记录
INCOUNT SMALLINT NULL DEFAULT 0, --是否恢复
ISCOUNT SMALLINT NULL DEFAULT 0, --
MODIFYBY VARCHAR (20) NULL, -- *** 作员
[DATE] DATETIME NULL, -- *** 作时间
CONSTRAINT EXACTID PRIMARY KEY (EXACTID)
)
;
--签到/签退记录表
CREATE TABLE CHECKINOUT (
USERID INT NOT NULL , --员工ID号
CHECKTIME DATETIME NOT NULL DEFAULT GETDATE(), --签到/签退时间
CHECKTYPE VARCHAR (1) NULL DEFAULT 'I', --签到/签退标志:I-签到,O-签退
VERIFYCODE INT NULL DEFAULT 0, --验证方式:除256的余数表示签到的方式: 0-指纹;1-输号码;2-密码。大于256表示该记录已经被确认,在于处理时不进行处理
SENSORID VARCHAR (5) NULL, --采集数据的考勤终端/设备ID
CONSTRAINT USERCHECKTIME PRIMARY KEY (USERID, CHECKTIME)
)
;
--部门表
CREATE TABLE DEPARTMENTS (
DEPTID INT IDENTITY(1,1) NOT NULL , --部门ID
DEPTNAME VARCHAR (30) NULL , --部门名称
SUPDEPTID INT NOT NULL DEFAULT 1, --上级部门的ID
CONSTRAINT DEPTID PRIMARY KEY (DEPTID)
)
;
CREATE TABLE EXCNOTES (
USERID INT NULL ,
ATTDATE DATETIME NULL ,
NOTES VARCHAR (200) NULL
)
;
--节假日表
CREATE TABLE HOLIDAYS (
HOLIDAYID INT IDENTITY(1,1) NOT NULL ,
HOLIDAYNAME VARCHAR (20) NULL ,
HOLIDAYYEAR SMALLINT NULL ,
HOLIDAYMONTH SMALLINT NULL ,
HOLIDAYDAY SMALLINT NULL DEFAULT 1,
STARTTIME DATETIME NULL ,
DURATION SMALLINT NULL ,
HOLIDAYTYPE SMALLINT NULL ,
XINBIE VARCHAR (4) NULL ,
MINZU VARCHAR (50) NULL,
CONSTRAINT HOLID PRIMARY KEY (HOLIDAYID)
)
;
--班次
CREATE TABLE NUM_RUN (
NUM_RUNID INT IDENTITY(1,1) NOT NULL , --班次ID号
OLDID INT NULL DEFAULT -1, --
NAME VARCHAR (30) NOT NULL , --班次名称
STARTDATE DATETIME NULL DEFAULT '2000-1-1', --起用日期
ENDDATE DATETIME NULL DEFAULT '2099-12-31', --结束使用日期
CYLE SMALLINT NULL DEFAULT 1, --班次一次循环的周期
UNITS SMALLINT NULL DEFAULT 1, --周期单位
CONSTRAINT NUMID PRIMARY KEY (NUM_RUNID)
)
;
--班次排班时段表
CREATE TABLE NUM_RUN_DEIL (
NUM_RUNID SMALLINT NOT NULL , --班次的ID号
STARTTIME DATETIME NOT NULL , --开始时间
ENDTIME DATETIME NULL , --结束时间
SDAYS SMALLINT NOT NULL , --开始日期
EDAYS SMALLINT NULL , --结束日期
SCHCLASSID INT NULL DEFAULT -1, --时段所属的类别
CONSTRAINT NUMID2 PRIMARY KEY (NUM_RUNID, SDAYS, STARTTIME)
)
;
--管理员权限设置表
CREATE TABLE SECURITYDETAILS (
SECURITYDETAILID INT IDENTITY(1,1) NOT NULL ,
USERID SMALLINT NULL ,
DEPTID SMALLINT NULL ,
SCHEDULE SMALLINT NULL ,
USERINFO SMALLINT NULL ,
ENROLLFINGERS SMALLINT NULL ,
REPORTVIEW SMALLINT NULL ,
REPORT VARCHAR (10) NULL,
CONSTRAINT NAMEID2 PRIMARY KEY (SECURITYDETAILID)
)
;
--轮班表
CREATE TABLE SHIFT (
SHIFTID INT IDENTITY(1,1) NOT NULL , --轮班ID号
NAME VARCHAR (20) NULL , --轮班名称
USHIFTID INT NULL DEFAULT -1, --
STARTDATE DATETIME NOT NULL DEFAULT '1900-1-1', --起用轮班的日期
ENDDATE DATETIME NULL DEFAULT '1900-12-31', --结束时用轮班的日期
RUNNUM SMALLINT NULL DEFAULT 0, --该轮班中所含的班次数 0<x<13
SCH1 INT NULL DEFAULT 0, --轮班的第一个班次
SCH2 INT NULL DEFAULT 0, --轮班的第二个班次
SCH3 INT NULL DEFAULT 0, --轮班的第三个班次
SCH4 INT NULL DEFAULT 0, --轮班的第四个班次
SCH5 INT NULL DEFAULT 0, --轮班的第五个班次
SCH6 INT NULL DEFAULT 0, --轮班的第六个班次
SCH7 INT NULL DEFAULT 0, --轮班的第七个班次
SCH8 INT NULL DEFAULT 0, --轮班的第八个班次
SCH9 INT NULL DEFAULT 0, --轮班的第九个班次
SCH10 INT NULL DEFAULT 0, --轮班的第十个班次
SCH11 INT NULL DEFAULT 0, --轮班的第十一个班次
SCH12 INT NULL DEFAULT 0, --轮班的第十二个班次
CYCLE SMALLINT NULL DEFAULT 0, --轮班周期
UNITS SMALLINT NULL DEFAULT 0 , --周期单位
CONSTRAINT SHIFTS PRIMARY KEY (SHIFTID)
)
;
--员工登记指纹表
CREATE TABLE TEMPLATE (
TEMPLATEID INT IDENTITY(1,1) NOT NULL , --指纹ID号
USERID INT NOT NULL , --员工ID号
FINGERID INT NOT NULL , --手指ID号,0-9分别表示右手拇指、右手食指、……、左手无名指、左手小指等
TEMPLATE image NOT NULL , --指纹模板1
TEMPLATE2 image NULL , --指纹模板2
TEMPLATE3 image NULL , --指纹模板3
BITMAPPICTURE image NULL , --登记的指纹图像1
BITMAPPICTURE2 image NULL , --登记的指纹图像2
BITMAPPICTURE3 image NULL , --登记的指纹图像3
BITMAPPICTURE4 image NULL , --登记的指纹图像4
USETYPE SMALLINT NULL , --指纹模板的用法,Bit0表示仅作备份不比对,Bit1表示指纹比对时使用低识别门限
CONSTRAINT TEMPLATED PRIMARY KEY (TEMPLATEID)
)
;
--员工排班表
CREATE TABLE USER_OF_RUN (
USERID INT NOT NULL , --员工ID号
NUM_OF_RUN_ID INT not NULL , --班次或轮班ID号
STARTDATE DATETIME not NULL DEFAULT '1900-1-1', --起用班次的日期
ENDDATE DATETIME not NULL DEFAULT '2099-12-31', --结束使用该班次的日期
ISNOTOF_RUN INT NULL DEFAULT 0, --是否轮班
ORDER_RUN INT NULL , --轮班的起始班次
CONSTRAINT USER_ST_NUM PRIMARY KEY (USERID, NUM_OF_RUN_ID, STARTDATE, ENDDATE)
)
;
--员工考勤例外(请假/公出)表
CREATE TABLE USER_SPEDAY (
USERID INT NOT NULL , --员工ID号
STARTSPECDAY DATETIME NOT NULL DEFAULT '1900-1-1', --开始日期
ENDSPECDAY DATETIME NULL DEFAULT '2099-12-31', --结束日期
DATEID SMALLINT not NULL DEFAULT -1, --例外类型,999为公出,-1为注释
YUANYING VARCHAR (200) NULL , --例外的原因
[DATE] DATETIME NULL , --登记/输入记录的时间
CONSTRAINT USER_SEP PRIMARY KEY (USERID, STARTSPECDAY, DATEID)
)
;
--员工临时排班表
CREATE TABLE USER_TEMP_SCH (
USERID INT not NULL , --员工ID号
COMETIME DATETIME not NULL , --上班时间
LEAVETIME DATETIME not NULL , --下班时间
OVERTIME INT not NULL DEFAULT 0, --该时段中计算加班的时间
[TYPE] SMALLINT NULL DEFAULT 0, --类型
FLAG SMALLINT NULL DEFAULT 1, --标志
SCHCLASSID INT NULL DEFAULT -1, --该时段所属时段类别ID号,-1表示自动判别
CONSTRAINT USER_TEMP PRIMARY KEY (USERID, COMETIME, LEAVETIME)
)
;
--员工信息表
CREATE TABLE USERINFO (
USERID INT IDENTITY(1,1) NOT NULL , --员工ID号
BADGENUMBER VARCHAR (12) NOT NULL , --考勤号码
SSN VARCHAR (20) NULL , --身份z/证件号
NAME VARCHAR (20) NULL , --姓名
GENDER VARCHAR (2) NULL , --性别
TITLE VARCHAR (20) NULL , --职务
PAGER VARCHAR (20) NULL , --移动电话/传呼机
BIRTHDAY DATETIME NULL , --生日
HIREDDAY DATETIME NULL , --参加工作日期
STREET VARCHAR (40) NULL , --家庭地址
CITY VARCHAR (2) NULL , --市代码
STATE VARCHAR (2) NULL , --省代码
ZIP VARCHAR (12) NULL , --邮编
OPHONE VARCHAR (20) NULL , --办公电话
FPHONE VARCHAR (20) NULL , --家庭电话
VERIFICATIONMETHOD SMALLINT NULL , --验证方式
DEFAULTDEPTID SMALLINT NULL DEFAULT 1, --所属部门ID号
SECURITYFLAGS SMALLINT NULL , --管理员标志
ATT SMALLINT NOT NULL DEFAULT 1, --考勤有效
INLATE SMALLINT NOT NULL DEFAULT 1, --计迟到
OUTEARLY SMALLINT NOT NULL DEFAULT 1, --计早退
OVERTIME SMALLINT NOT NULL DEFAULT 1, --计加班
SEP SMALLINT NOT NULL DEFAULT 1, --
HOLIDAY SMALLINT NOT NULL DEFAULT 1, --假日休息
MINZU VARCHAR (8) NULL , --民族
[PASSWORD] VARCHAR (20) NULL , --口令
LUNCHDURATION SMALLINT NOT NULL DEFAULT 1, --有午休
MVerifyPass VARCHAR(10) NULL, --考勤验证密码
PHOTO Image NULL, --照片
CONSTRAINT USERIDS PRIMARY KEY (USERID)
)
;
CREATE UNIQUE INDEX USERFINGER ON TEMPLATE(USERID, FINGERID)
;
CREATE UNIQUE INDEX HOLIDAYNAME ON HOLIDAYS(HOLIDAYNAME)
;
CREATE INDEX DEPTNAME ON DEPARTMENTS(DEPTNAME)
;
CREATE UNIQUE INDEX EXCNOTE ON EXCNOTES(USERID, ATTDATE)
;
CREATE UNIQUE INDEX BADGENUMBER ON USERINFO(BADGENUMBER)
;
INSERT INTO DEPARTMENTS (DEPTNAME, SUPDEPTID) VALUES('总公司',0)
;
--假类表
Create Table LeaveClass(
LeaveId INT Identity(1,1) not null primary key, --假类ID号
LeaveName VARCHAR(20) not null, --假类名称
MinUnit float not null default 1, --最小统计单位
Unit smallint not null default 1, --统计单位
RemaindProc smallint not null default 1, --舍入控制
RemaindCount smallint not null default 1, --统计时累计
ReportSymbol varchar(4) not null default '-', --报表中的表示符号
Deduct float not null default 0, --
Color int not null default 0, --显示颜色
Classify SMALLINT NOT null default 0) --计算类别,~bit7-是否计算为请假
;
--统计项目表
Create Table LeaveClass1(
LeaveId INT Identity(999,1) not null primary key, --999-公出
LeaveName VARCHAR(20) not null,
MinUnit float not null default 1,
Unit smallint not null default 0,
RemaindProc smallint not null default 2,
RemaindCount smallint not null default 1,
ReportSymbol varchar(4) not null default '_',
Deduct float not null default 0,
LeaveType SMALLINT not null default 0, --bit0-是否统计项;bit1-是否异常情况项;
Color int not null default 0,
Classify SMALLINT not null default 0, --计算类别,bit0-按班次时段分类;bit1-按节假日分类
Calc text null) --计算单位
;
--班次时段类别设置表
CREATE TABLE SchClass(
schClassid INT identity(1,1) NOT NULL PRIMARY KEY, --时段类别ID号
schName VARCHAR(20) NOT null, --时段类别名称
StartTime datetime NOT NULL, --起始时间
EndTime datetime NOT NULL, --结束时间
LateMinutes int null, --计迟到分钟数
EarlyMinutes int null, --计早退分钟数
CheckIn int null default 1, --该时段上班需要签到
CheckOut int null default 1, --该时段下班需要签退
CheckInTime1 datetime NULL, --开始签到时间
CheckInTime2 datetime NULL, --结束签到时间
CheckOutTime1 datetime NULL, --开始签退时间
CheckOutTime2 datetime NULL, --结束签退时间
Color Int NULL default 16715535, --表示颜色
AutoBind SMALLINT NULL DEFAULT 1) --
;
--系统参数表
Create Table AttParam(
PARANAME VARCHAR (20) NOT NULL Primary key,
PARATYPE VARCHAR (2) NULL ,
PARAVALUE VARCHAR(100) NOT NULL)
;
insert into LeaveClass(LeaveName, Unit, ReportSymbol, Color)
values('病假', 1, 'B', 3398744);
insert into LeaveClass(LeaveName, Unit, ReportSymbol, Color)
values('事假', 1, 'S', 8421631);
insert into LeaveClass(LeaveName, Unit, ReportSymbol, Color)
values('探亲假', 1, 'T', 16744576);
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType, Calc)
values('公出', 05, 3, 1, 1, 'G', 3, 'if(AttItem(LeaveType1)=999,AttItem(LeaveTime1),0)+if(AttItem(LeaveType2)=999,AttItem(LeaveTime2),0)+if(AttItem(LeaveType3)=999,AttItem(LeaveTime3),0)+if(AttItem(LeaveType4)=999,AttItem(LeaveTime4),0)+if(AttItem(LeaveType5)=999,AttItem(LeaveTime5),0)');
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType)
values('正常', 05, 3, 1, 0, ' ', 3);
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType, Calc)
values('迟到', 10, 2, 2, 1, '>', 3, 'AttItem(minLater)');
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType, Calc)
values('早退', 10, 2, 2, 1, '<', 3, 'AttItem(minEarly)');
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType, Calc)
values('请假', 1, 1, 1, 1, '假', 3,
'if((AttItem(LeaveType1)>0) and (AttItem(LeaveType1)<999),AttItem(LeaveTime1),0)+if((AttItem(LeaveType2)>0) and (AttItem(LeaveType2)<999),AttItem(LeaveTime2),0)+if((AttItem(LeaveType3)>0) and (AttItem(LeaveType3)<999),AttItem(LeaveTime3),0)+if((AttItem(LeaveType4)>0) and (AttItem(LeaveType4)<999),AttItem(LeaveTime4),0)+if((AttItem(LeaveType5)>0) and (AttItem(LeaveType5)<999),AttItem(LeaveTime5),0)');
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType, Calc)
values('旷工', 05, 3, 1, 0, '旷', 3, 'AttItem(MinAbsent)');
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType, Calc)
values('加班', 1, 1, 1, 1, '+', 3, 'AttItem(MinOverTime)');
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType, Calc)
values('节日加班', 1, 1, 0, 1, '=', 0, 'if(HolidayId(1)=1, AttItem(MinOverTime),0)');
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType)
values('休息日', 05, 3, 2, 1, '-', 2);
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType, Calc)
values('未签到', 1, 4, 2, 1, '[', 2,
'If(AttItem(CheckIn)=null,If(AttItem(OnDuty)=null,0,if(((AttItem(LeaveStart1)=null) or (AttItem(LeaveStart1)>AttItem(OnDuty))) and AttItem(DutyOn),1,0)),0)');
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType, Calc)
values('未签退', 1, 4, 2, 1, ']', 2,
'If(AttItem(CheckOut)=null,If(AttItem(OffDuty)=null,0,if((AttItem(LeaveEnd1)=null) or (AttItem(LeaveEnd1)<AttItem(OffDuty)),if((AttItem(LeaveEnd2)=null) or (AttItem(LeaveEnd2)<AttItem(OffDuty)),if(((AttItem(LeaveEnd3)=null) or (AttItem(LeaveEnd3)<AttItem(OffDuty))) and AttItem(DutyOff),1,0),0),0)),0)');
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType)
values('离岗未签到', 1, 4, 2, 1, '{', 6);
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType)
values('离岗未签退', 1, 4, 2, 1, '}', 6);
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType)
values('离岗', 1, 1, 2, 1, 'L', 3);
insert into AttParam(ParaName,ParaValue) values('MinsEarly',5);
insert into AttParam(ParaName,ParaValue) values('MinsLate',10);
insert into AttParam(ParaName,ParaValue) values('MinsNoBreakIn',60);
insert into AttParam(ParaName,ParaValue) values('MinsNoBreakOut',60);
insert into AttParam(ParaName,ParaValue) values('MinsNoIn',60);
insert into AttParam(ParaName,ParaValue) values('MinsNoLeave',60);
insert into AttParam(ParaName,ParaValue) values('MinsNotOverTime',60);
insert into AttParam(ParaName,ParaValue) values('MinsWorkDay',420);
insert into AttParam(ParaName,ParaValue) values('NoBreakIn',1012);
insert into AttParam(ParaName,ParaValue) values('NoBreakOut',1012);
insert into AttParam(ParaName,ParaValue) values('NoIn',1001);
insert into AttParam(ParaName,ParaValue) values('NoLeave',1002);
insert into AttParam(ParaName,ParaValue) values('OutOverTime',0);
insert into AttParam(ParaName,ParaValue) values('TwoDay',0);
insert into AttParam(ParaName,ParaValue) values('CheckInColor',16777151);
insert into AttParam(ParaName,ParaValue) values('CheckOutColor',12910591);
insert into AttParam(ParaName,ParaValue) values('DBVersion',167);

XP 的研发代号是 51
2000 的 代号 是 50
两个怎么能比?
你先安装的是51的当然不行,要先安装低级的版本再安高级的。
顺便问一句,你实验室的机子是装Win2000的系统吧。

Email邮件头揭密
一、简介
这一部分内容将详细讨论email头的方方面面。主要为用户架设邮件服务器提供理论基础并为管理员在出现电子邮件垃圾骚扰时提供发现垃圾邮件的真正源头。根据邮件头的知识有助于发现伪造的邮件。对于希望了解邮件是如何在网络中传输的用户同样会有帮助。
虽然在讨论中尽量有意避免如何伪造一封邮件的讨论,但是在讨论中的内容可能被恶意读者用作创建伪造邮件的基础。因为要在文章中举例说明,因此在文章中有若干虚构的域名和随意分配的IP地址作为示例使用。这些域名和IP都是任意任意选择和伪造的,和Internet上真实的域名和IP没有任何关系。
二、Email的传输过程
这部分包含一个简单的对一个电子邮件生命周期的分析。这对于理解邮件头能为你提供哪些信息是非常重要的背景信息。
从表面上看来邮件似乎是直接从发送者机器传递到接收者地址,但通常情况下事情并不是这样。一个典型的电子邮件在其生命周期中至少要经过四台计算机。
这是因为大多数企业或组织都有一个被称为“邮件服务器”专用服务器来处理电子邮件,而这一般并不是用户阅读邮件的计算机。对于ISP来说,用户从家里面的计算机拨号接入ISP网络,这里将用户家中的计算机称为客户机,而将ISP专门处理邮件的计算机称为邮件服务器。当一个用户发送邮件,他一般是在自己的计算机上编辑邮件,然后将邮件发送到ISP的邮件服务器上。客户机就此已经完成了自己的工作,而后面的工作则由ISP的邮件服务器来完成。首先ISP邮件服务器查找接收者指定的邮件服务器的IP地址,然后将邮件发送给该目的服务器。现在邮件则存储在接收者邮件服务器上等待接收者收取。当接收者从接受邮件服务器取得发送给他的邮件到自己的PC机以后,通常该邮件将被删除。
假设若干个虚构的用户<demo@263net>和<lili@alphacomcn>。demo是263这个ISP的拨号用户。使用outook express这个邮件客户程序收发邮件。lisi是中科院的一个虚构用户,他使用工作站通过单位局域网连接进入互联网。
如果lisi想给lili发送邮件,他在工作站(假设名字为lilialphacomcn)上编辑邮件,编辑好的信件从工作站发送到中科院的邮件服务器:mailalphacomcn。一旦信件被发送到mailalphacomcn,以后的信件发送过程就和lisi没有关系了。中科院的邮件服务器发现这是发送给263net的某个用户的信件,则和263的邮件服务器-比如说是mail263net-通信,并将邮件传送给它。现在邮件则被存储在mail263net 之上直到lili在自己的PC机上拨号连接到263网络察看并收取信件,这时mail263net将存储的邮件传送到lili的个人PC机上。
在这个过程中,邮件头将三次被加到邮件中:在编辑时由邮件客户程序加入;当邮件传输到mailalphacomcn时被mailalphacomcn加入;当从mailalphacomcn传送到mail263net时被mail263net加入;通常来说客户收取信件时并不添加邮件头。下面我们就仔细看看这些邮件头是如何产生的。
当lisi的邮件客户程序编辑邮件并将其发送给mailalphacomcn时,邮件内容如下。这些内容都是由邮件编辑程序(outlook express)添加的:
From: lili@sinacom (Li Si)
To: demo@hotmail
Date: Tue, Mar 18 1997 14:36:14 PST
X-Mailer: Outlook Express 55
Subject: 明天放假?
当邮件从mailalphacomcn传送到mail263net后,邮件内容变为(新添加的内容是由mailalphacomcn):
Received: from lilialphacomcn (lilialphacomcn [124211311]) by mailalphacomcn (885) id 004A21; Tue, Mar 18 1997 14:36:17 -0800 (PST)
From: lili@sinacom (Li Si)
To: demo@hotmail
Date: Tue, Mar 18 1997 14:36:14 PST
Message-Id: <lisi031897143614-00000298@mailalphacomcn>
X-Mailer: Outlook Express 55
Subject: 明天放假
当mail263net收到信件并存储等待lili收取时,邮件内容变为,(新添加的内容是由mail263com添加的):
Received: from mailalphacomcn (mailalphacomcn [124211378]) by mail263net (885/872) with ESMTP id LAA20869 for <demo@hotmail>; Tue, 18 Mar 1997 14:39:24 -0800 (PST)
Received: from lilialphacomcn (lilialphacomcn [124211311]) by mailalphacomcn (885) id 004A21; Tue, Mar 18 1997 14:36:17 -0800 (PST)
From: lili@sinacom (Li Si)
To: demo@hotmail
Date: Tue, Mar 18 1997 14:36:14 PST
Message-Id: <lisi031897143614-00000298@mailalphacomcn>
X-Mailer: Outlook Express 55
Subject: 明天放假
最后这封信的内容才是lili收取并阅读的内容。下面是对其中内容的详细分析:
Received: from mailalphacomcn
上面的内容表示该邮件是来自于自称是mailalphacomcn的服务器。
(mailalphacomcn [124211378])
这句话表示该服务器的真实名字的确是mailalphacomcn,也就是说它自称的身份是正确的,其IP地址为124211378。
by mail263net (885/872)
接收这封邮件的机器是mail263net。其运行的邮件程序为sendmail,版本为885/872。
with ESMTP id LAA20869
接收邮件的服务器为该邮件赋有ID号LAA20869(通常该号码是邮件服务器内部使用的,但是管理员可以根据该ID号在log文件中查找关于该信件的相关信息,但是通常该号都是没有意义的) 。
for <demo@hotmail>;
该邮件是发送给地址demo@hotmail的。可以看到该邮件头没有To:相关内容。
Tue, 18 Mar 1997 14:39:24 -0800 (PST)
这次邮件传输发生时间为:太平洋时间Tuesday, March 18, 1997, at 14:39:24(太平洋时间,因为它比格林威治时间晚8个小时,因此是"-0800")。
Received: from lilialphacomcn (lilialphacomcn [124211311]) by mailalphacomcn (885) id 004A21; Tue, Mar 18 1997 14:36:17 -0800 (PST)
该邮件头记录了邮件是从lilialphacomcn(lisi的工作站)传送到到邮件服务器mailalphacomcn的。传送发生在太平洋时间14:36:17。发送计算机自称是lilialphacomcn,其真实名经dns查询的确是lilialphacomcn,其IP地址为124211311,邮件服务器软件为sendmail v885。该信件被邮件服务器的mailalphacomcn赋给的ID号为004A21。
From: lili@sinacom (Li Si)
该邮件是由lili@sinacom发送的,其名字为Li Si。
To: demo@hotmail
邮件目的地址为:demo@hotmail。
Date: Tue, Mar 18 1997 14:36:14 PST
邮件编辑时间为14:36:14 Pacific Standard Time on Tuesday, March 18, 1997。
Message-Id: <lisi031897143614-00000298@mailalphacomcn
mailalphacomcn给该邮件分配了这个号码来标识它。它和Received头中的SMTP机ESMTP ID号是不一样的。因为该号码是一直伴随整个邮件的。而其它ID则仅仅在特定的邮件服务器上的邮件传输阶段相关联。因此该机器ID号对其它机器来说没有任何意义。有时候Message-ID包含了发送者邮件地址在其中。
X-Mailer: Outlook Express 55
该消息是使用Outlook Express发送的,版本号为55。
Subject: 明天放假
邮件标题。
三、邮件协议
这部分内容相对其它部分来说具有更多原理性内容,主要讨论邮件是如何从一点传输到另外一点的细节。你不需要理解每一句话,但是熟悉这方面的内容有助于在邮件传输出现奇怪现象时弄明白问题所在。由于垃圾电子邮件发送者常常故意制造一些奇怪的情况以掩饰自己的身份,因此能理解这些奇怪的现象对对付这些家伙是非常有用的。
为了在网络上传输数据,计算机网络协议使用了称为端口的访问入口,你可以将端口看做是一个通道,通过它计算机可以监听网络通信以提供服务。为了同时监听多个通信,计算机需要有使用端口号码标识多个不同的端口以区别这些通信。而和电子邮件传输相关的端口是25。
正常情况
让我们重新讨论上面的例子,但是这次我们仅仅关心mailalphacomcn到mail263net之间的通信过程。首先mailzkyeducn打开一个到mail263net的25号端口的连接,然后通过该连接发送邮件,当然在发送邮件过程中会有一些管理命令交互过程。交互中的命令和相应都或多或少的是可读的。命令是SMTP协议规定的。如果监听两者之间的通信,可能有以下内容:(粗体部分是mailalphacomcn发出的)
220 mail263net ESMTP Sendmail 885/14/872/113; Tue, Mar 18 1997 14:38:58 -0800 (PST)
HELO mailalphacomcn
250 mail263net Hello mailalphacomcn [124211378], pleased to meet you
MAIL FROM: lili@sinacom
250 lili@sinacom Sender ok
RCPT TO: demo@hotmail
250 demo@hotmail Recipient ok
DATA
354 Enter mail, end with "" on a line by itself
Received: from lilialphacomcn (lilialphacomcn [124211311]) by mailalphacomcn (885) id 004A21; Tue, Mar 18 1997 14:36:17 -0800 (PST)
From: lili@sinacom (RT Hood)
To: demo@hotmail
Date: Tue, Mar 18 1997 14:36:14 PST
Message-Id: <lisi031897143614-00000298@mailalphacomcn>
X-Mailer: Outlook Express 55
Subject: 明天放假
Do you have time to meet for lunch
--lisi

250 LAA20869 Message accepted for delivery
QUIT
221 mail263net closing connection
整个传输依赖于五个SMTP核心命令(当然SMTP还有一些其它命令,但是它们并不是用来完成真正的邮件传输):HELO,MAIL FROM,RCPT TO,DATA和QUIT。
邮件发送者HELO命令用来标识自己的身份。HELO mailalphacomcn可以被解读为"嗨,我是mailalphacomcn"。当然这里发送者可能会撒谎,但是没有任何机制能防止发送者mailalphacomcn 说"嗨,我是mailxxxcom"或是"嗨,我是mailyyycom"。然而在大多数情况下接收者都有一些方法来确认发送者的真实身份。
MAIL FROM命令标识开始邮件传输,含义是"我有从某人发送来的邮件",该命令后跟的地址就是所谓的“信封地址”(在后面我们将深入讨论),信封from地址不一定是发送者自己的地址。这个明显的安全漏洞是不可避免的(因为接收者并不知道发送者机器上有哪些地址),但是在特定的情况下这又是一个有用处的特色。
RCPT TO和MAIL FROM是相辅相成的。其指定邮件接收者。通过多个RCPT TO命令一个邮件可以被发送给多个接收者。(在后面的邮件中继部分将解释该特色可能针对某些不安全的系统滥用)。该命令后跟的地址称为"envelope to"地址。其指定了邮件将被投递给哪些用户,而和信件中的To:指定的地址没有关系。
DATA命令指示开始实际的邮件内容传输。DATA命令后输入的任何内容都被看做是邮件的一部分。而格式并没有任何限制。以一个英文单词加冒号开始的行一般被邮件程序看做是邮件头。以英文句号符号()开始的行被认为是邮件内容结束。
QUIT命令终止连接。
SMTP协议规范定义在RFC 821中。
非正常情况
上面的例子有些过于简单。上面的例子有一个假设前提:两个组织的邮件服务器相互之间能直接访问,而不需要经过代理、防火墙等安全设备。这在当前Internet环境下情况往往是这样的。但由于安全对于某些组织来说非常重要,而且网络或组织可能变得越来越庞大,情况就不那么简单了。对于具有代理型防火墙系统的邮件传输来说,区别就在于在邮件的头中多了一次转发过程的记录,也就是邮件首先从发送者邮件服务器发送到防火墙上,然后再从防火墙发送到目的邮件服务器。
四、邮件中继
对于某些具有特殊的“生命”周期的邮件头可能和前面讨论的情况完全不同:
Received: from unwillingintermediacom (unwillingintermediacom [981341132]) by mailalphacomcn (885) id 004B32 for <lili@sinacom>; Wed, Jul 30 1997 16:39:50 -0800 (PST)
Received: from linuxaidcomcn ([2029911120]) by unwillingintermediacom (865/858) with SMTP id LAA12741; Wed, Jul 30 1997 19:36:28 -0500 (EST)
From: Anonymous Spammer <junkmail@linuxaidcomcn>
To: (recipient list suppressed)
Message-Id: <w45qxz23-34ls5@unwillingintermediacom>
X-Mailer: Massive Annoyance
Subject: WANT TO MAKE ALOT OF MONEY
这个邮件头和以前的不同之处可能会令你认为这是一封垃圾邮件,但是这里引起你的怀疑的是"Received:"头。从"Received:"头看来,邮件是来自linuxaidcomcn,然后从这里传输给unwillingintermediacom,然后从这里再次传输到最终目的地址:mailalphacomcn。从"Received:"头看来事情就是这样的,但是中间为什么会出现unwillingintermediacom呢?因为它和发送者和接收者都没有直接的关系。
要理解原因需要对SMTP协议进行一些了解。本质上来讲,传输过程是这样的:linuxaidcomcn连接unwillingintermediacom的SMTP端口。告诉它“请发送这封邮件到lili@sinacom。它可能是以最直接的方法来实现:RCPT TO:lili@sinacom。到现在为止,unwillingintermediacom接管对该邮件的处理。因为它被告知将该信件转发给其他一个域:zkyaccn,它就查找对于域名zkyaccn的邮件服务器然后将邮件转发给zkyaccn。这个过程通常被称作邮件中继(mail relaying)。
出现邮件中继是由于历史的原因,使用邮件中继是有它的好处的。到八十年代末期,很多网络中的计算机都不是直接通信来传输邮件。而是通过邮件路由来传递邮件,通过邮件路由服务器一步一步地进行邮件传输。这样做是非常麻烦的,发送者往往需要手工指定一封邮件需要经过哪些邮件路由服务器,比如需要从San Francisco发送一封邮件到New York,则需要在信封中添加如下内容:
San Francisco, Sacramento, Reno, Salt Lake City, Rock Springs, Laramie, North Platte, Lincoln, Omaha, Des Moines, Cedar Rapids, Dubuque, Rockford, Chicago, Gary, Elkhart, Fort Wayne, Toledo, Cleveland, Erie, Elmira, Williamsport, Newark, New York City, Greenwich Village, #12 Desolation Row, Apt #35, RA Zimmermann
如果从邮局工作人员的角度来考虑,这种模型是非常有用的。在Gary的邮局只需要知道如何和临近的邮局Chicago和Elkhart通信,而无需消耗资源计算如何将邮件发送到New York(这时候就很清楚为什么这种模式对于邮件发送者来说非常糟糕,为什么这种方法被抛弃了)。但是这就是邮件被传输的过程。因此服务器具有这样的中继的能力在那时是很重要的。
而现在中继通常被用作不道德的广告商用来隐藏它们的原始地址,将埋怨转嫁给被用来中继的服务器而不是其所在ISP的技术。同样通过中继可以实现将发送信件的负载转移到中继服务器上,从而实现盗用中继服务器的服务资源。在这里最重要的一点是理解邮件内容是在发送点linuxaidcomcn被编辑。中间的服务器unwillingintermediacom只是参加了中间的传输工作,它并不能对发送者有任何的约束力。
在上面的例子中应该注意的另外一点是"Message-Id:"并不是由发送者服务器(linuxaidcomcn)而是中继计算机(unwillingintermedia com)填写的。这是被中继的邮件的一个典型特性,该特性反映了发送服务器并没有提供Message-Id的事实。
上面关于SMTP的讨论部分提到了“消息”头和“信封”头的不同之处。这种区别和导致的后果将在这里详细地讨论。
简单地说,“信封”头实际上是由接收消息的邮件服务器产生的,而不是发送者服务器。按照这个定义,“Received:”头是信封头,而一般来说常常使用"envelope From"和"envelope To"来指示它们。
"envelope From"头是从MAIL FROM命令得到的。如发送者邮件服务器发出命令MAIL FROM: ideal@linuxaidcomcn,则接收者服务器则产生一个"envelope From"头:>From ideal@linuxaidcomcn。
注意这里少了一个冒号—"From"而不是"From:"。也就是说信封头在其后没有冒号。当然这个惯例并不是标准,但是这时一个值得注意的惯例。
对应的是"envelope To"同样来自于RCPT TO命令。如果发送者服务器发出命令RCPT TO: ideal@btamailnetcn。则"envelope To"为ideal@btamailnetcn。一般来说实际上并没有这样一个邮件头,它常常是包含在Received:头中。
存在信封信息的一个重要结果就是消息From:和To:变得毫无意义。From:头是由发送者提供的,同样To:也是由发送者提供的。因此邮件仅仅基于"envelope To"来进行转发路由,而不是基于消息To:。
为了从实际中理解这个概念,看看下面这样的邮件传输:
HELO galangalorg
250 mailalphacomcn Hello linuxaidcomcn [2029911120], pleased to meet you
MAIL FROM: forged-address@galangalorg
250 forged-address@galangalorg Sender ok
RCPT TO: lili@sinacom
250 lili@sinacom Recipient OK
DATA
354 Enter mail, end with "" on a line by itself
From: another-forged-address@lemongrassorg
To: (这里你的地址被隐瞒以实现秘密邮件转发和骚扰)

250 OAA08757 Message accepted for delivery
下面是对应的邮件头:
>From forged-address@galangalorg
Received: from galangalorg ([2029911120]) by mailalphacomcn (885) for <tmh@zkyaccn>
From: another-forged-address@lemongrassorg
To: (这里你的地址被隐瞒以实现秘密邮件转发和骚扰)
注意到"envelope From"的内容和消息From:的内容和消息To:的内容都是发送者指定的,因此他们都是不可靠的。这个例子说明了为什么信封From、消息From:及消息To:在可能是伪造的邮件中是不可靠的,因为它们太容易伪造了。
"Received:"头的重要性
在上面的例子中我们已经看到,"Received:"头提供了详细的消息传输历史记录,因此即使在其他邮件头是被伪造的情况下也可能根据"Received:"头得到某些关于该信件原始出处和传输过程的结论。这部分将详细探讨某些和异常的重要消息头相关的问题,特别是如何挫败那些常见的伪造技术。
毫无疑问的是,在"Received:"头中唯一重要且有价值的伪造防护就是由接收服务器记录的那些信息。前面提到发送者能伪造自己的身份( 通过在HELO命令中报告错误的身份)。幸运的是现代邮件服务器程序都可以检测到这种错误信息并加以修正。
如果服务器linuxaidcomcn的真实IP地址是2029911120,发送邮件给mailalphacomcn,但是使用HELO galangalorg命令来伪造自己的身份,则对应该次传输的"Received:"可能如下所示:
Received: from galangalorg ([2029911120]) by mailalphacomcn (885)
(后面的其他信息被省略以更加清晰)。注意虽然zkyaccn没有明确地说galangalorg不是发送者的真实身份,但是它记录了发送者正确的IP地址。如果某接收者认为消息头中的galangalorg是伪造者伪造的身份,他可以查看IP地址2029911120来得到对应的正确域名是linuxaidcomcn,而不是galangalorg。也就是说记录发送服务器的IP地址提供了足够的信息来确认可以的伪造行为。
很多现代邮件程序实际上将根据IP查看对应域名的过程自动化了。(这种查看过程被称为反向DNS解析)。如果mailalphacomcn使用这种软件,则"Received:"头则变为
Received: from galangalorg (linuxaidcomcn [2029911120]) by mailalphacomcn
从这里可以清楚地看到伪造行为。这个消息头明确地说linuxaidcomcn的IP地址是2029911120,但是却宣称自己的身份为galangalorg。这样的信息对于对于验证和追踪伪造信件是非常有用的。(因此,垃圾邮件发送者往往避免使用那些记录发送者地址的邮件服务器进行垃圾邮件转发。有时候它们可以找到不记录发送者服务器,但是现在网络上这样的服务器已经很少了)
伪造者伪造邮件的另外一个日益常见的技巧是在发送垃圾邮件以前添加伪造的"Received:"头。这意味着从linuxaidcomcn发送的假设的邮件的"Received:"头的内容可能为:
Received: from galangalorg ([2029911120]) by mailalphacomcn (885)
Received: from nowhere by fictitious-site (883/872)
Received: No Information Here, Go Away!
很明显,最后两行内容完全是毫无疑义的,是由发送者编写并在发送以前附在邮件中的。由于一旦邮件离开linuxaidcomcn,发送者对邮件完全失去了控制。而且新的"Received:"头总是出现添加在消息的头部,因此伪造的"Received:"头总是出现在"Received:"头列表的尾部。这意味着任何人从头到尾读取"Received:"头列表,追踪邮件传输历史,都能安全地剔除在第一个伪造头以后的内容。即使"Received:"头看上去似乎是真实的,但是实际上都是伪造的。
当然,发送者不一定会用明显的垃圾信息来迷惑你,一个处心积虑的伪造者可能创建如下所示的看似真实的"Received:"头列表:
Received: from galangalorg ([2029911120]) by mailalphacomcn (885)
Received: from lemongrassorg by galangalorg (873/851)
Received: from grapraocom by lemongrassorg (864)
这里泄漏伪造问题的唯一地方是第一个"Received:"头中的galangalorg的IP地址。如果伪造者这里填写了lemongrassorg和grapraocom 的真实IP地址,则这样的伪造伪造仍然非常难以检测。但是第一个"Received:"头中的域名和IP的不匹配仍然揭露了消息是伪造的,并且该邮件是有网络中地址为2029911120的服务器注入到网络中。然而大多数邮件头伪造者一般都没有这么狡猾,一般额外添加的"Received:"头一般都很明显地是伪造的垃圾。

华硕a55vu盘启动快捷键 设置的方法:

华硕笔记本U盘启动不需要进BIOS界面设置启动项,先插上U盘,开机按ESC键,然后在显示的启动项页面选项USB项启动,可参考下图:

如果开机按ESC键后没有USB启动项,建议通过以下方式查看一下BIOS安全选项并设置:开机按 F2 进入BIOS,Boot---Lunch CSM----设置为 enable,Security----secure boot control----设置为disable,然后按 F10 保存退出。


华硕 是目前全球第一大主板生产商、全球第三大显卡生产商,同时也是全球领先的3C解决方案提供商之一,致力于为个人和企业用户提供最具创新价值的产品及应用方案。

华硕的产品线完整覆盖至笔记本电脑、主板、显卡、服务器、光存储、有线/无线网络通讯产品、LCD、掌上电脑、智能手机等全线3C产品。其中显卡和主板以及笔记本电脑三大产品已经成为华硕的主要竞争实力。

遍布全球20多个国家和地区的分支机构,以及十万名员工,共同将华硕打造成年营业额超过165亿美金的信息产业巨擘。


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

原文地址: http://outofmemory.cn/zz/13454348.html

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

发表评论

登录后才能评论

评论列表(0条)

保存