互联网+ 第971页

Ping命令是一个非常好的网络故障诊断工具。,1、ping命令查看本地IP、子掩码,从电脑开始里找到运行,然后在运行对话框中输入 CMD “命令,之后按回车键,进入CMD命令操作界面,输入命令符按回车键后即可进入CMD命令操作框,再输入ping命令,Ping网址,检测本地电脑与互联网是否是联通的,需要Ping的网址,看看电脑能够访问该网站,在命令框中输入:ping +网址 -t然后按回车键确认。,2、ping网址查看网络是否联通,Ping网址,可以检查网络是否正常,并且通过time时间大小可以判断网络质量怎么样,一般这个数值越小,说明网络越佳,是指越高,网络就越差,越不稳定。,3、判断本地TCP/IP协议安装正常与否,可使用Ping命令诊断本地TCP/IP协议是否安装正常,输入:ping 127.0,.0.1,然后按回车键即可开始检查本地TCP/IP协议是否安装正常。,4、本地TCP/IP协议是否安装正常检测,使用Ping命令还可以查看电脑IP地址,子网掩码,以及网关地址等与网络有关的信息,方法是继续输入:ipconfig /all,然后再按回车键确认检测。,了解更多服务器及资讯,请关注vsping科技官方网站 https://www.mfisp.com/,感谢您的支持!,,Ping命令是一个非常好的网络故障诊断工具。,1、ping命令查看本地IP、子掩码,

美国网站服务器的磁盘阵列是磁盘升级优化的使用策略,目的在于提高数据的读写速度跟数据的安全性,本文小编就来分享下美国网站服务器磁盘阵列RAID的工作原理及优缺点。, 美国网站服务器磁盘阵列RAID技术主要的工作原理:, 1、通过对美国网站服务器磁盘数据进行条带化,实现对数据成块存取,减少磁盘的机械寻道时间,进而提高数据的存取速度。, 2、通过对美国网站服务器阵列中的几块磁盘进行同时读取,减少磁盘的机械寻道时间,进而提高数据的存取速度。, 3、通过镜像或存储奇偶校验信息的方式,实现对美国网站服务器数据的冗余保护。, 美国网站服务器磁盘阵列RAID技术的优点:, 1、提高传输速率, RAID技术通过在多个磁盘上同时存储和读取数据,可以实现大幅提高美国网站服务器存储系统的数据吞吐量。在RAID中可以实现多个磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以美国网站服务器使用RAID可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是RAID最初研发出来想要解决的问题,因为当时美国网站服务器CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要RAID技术来解决这个问题。, 2、通过数据校验来提供容错功能, 普通磁盘驱动器基本无法提供容错功能,而RAID的容错功能是建立在每个磁盘驱动器的硬件容错功能之上的,所以可以提供更高的安全性,美国网站服务器RAID模式中基本都有较为完备的相互校验/恢复的措施,或者是有直接相互的镜像备份,从而有效提高RAID系统的容错度,提升美国网站服务器系统的稳定冗余性。, 美国网站服务器磁盘阵列RAID技术的缺点, 1、RAID 0没有冗余功能,如果美国网站服务器某一个磁盘物理损坏,则所有的数据都会无法使用。, 2、RAID 1磁盘的在使用两块盘的情况下利用率最高只能达到50%,是所有RAID级别中最低的,会提高美国网站服务器的使用成本。, 3、RAID 0+1可以理解为RAID 0和RAID 1的折中方案。RAID 0+1可以为系统提供数据安全保障,虽然磁盘空间利用率要比Mirror高一些,但保障程度要比 Mirror低。, 以上内容就是关于美国网站服务器磁盘阵列RAID技术的工作原理及优缺点介绍,希望能帮助到有需要的美国网站服务器用户。, 现在vsping科技合作的美国VM机房的美国网站服务器所有配置都免费赠送防御值 ,可以有效防护网站的安全,以下是部分配置介绍:, , , vsping科技已与全球多个国家的顶级数据中心达成战略合作关系,为互联网外贸行业、金融行业、IOT行业、游戏行业、直播行业、电商行业等企业客户等提供一站式安全解决方案。持续关注vsping科技官网,获取更多IDC资讯!,, , 美国网站服务器的磁盘阵列是磁盘升级优化的使用策略,目的在于提高数据的读写速度跟数据的安全性,本文小编就来分享下美国网站服务器磁盘阵列RAID的工作原理及优缺点。, 美国网站服务器磁盘阵列RAID技术主要的工作原理:,

美国独立服务器有高性能、高可用性的优势,可以为美国独立服务器用户提供长期的运行支持,但美国独立服务器用户也需要日常进行系统维护才能保障系统的安全,从而发挥美国独立服务器的最优质性能,本文小编就来介绍下美国独立服务器的一些维护技巧。, 1、及时安装系统补丁, 美国独立服务器无论是安装的Windows操作系统还是Linux操作系统,都会存在一定的漏洞,及时打上补丁更新系统可以避免漏洞被黑客蓄意利用,也是系统安全的重要保证之一。, 2、安装和设置防火墙, 美国独立服务器有许多基于硬件或软件的防火墙,对美国独立服务器安全而言安装防火墙非常必要,防火墙对于非法访问具有很好的防御功能,安装之后还需要根据美国独立服务器自身的网络环境,对防火墙进行适当的配置,以达到最优质的防护效果。, 3、安装网络杀毒软件, 网络上的病毒非常多种多样,可能潜伏在各个角落,所以需要在美国独立服务器上安装网络版的杀毒软件,来控制病毒的传播,同时在美国独立服务器网络杀毒软件的使用中,必须要定期或及时升级杀毒软件,最好设置为自动更新病毒库。, 4、关闭非必要的服务和端口, 美国独立服务器操作在一开始安装系统时会启动一些非必要的服务,这样会占用美国独立服务器的系统资源,并增加系统的安全隐患。所以对于一段时间内完全不会用到的服务,可以完全关闭;对于期间要使用的服务,也应该关闭相关不需要的服务,例如Telnet等。另外美国独立服务器还需要关闭非必要的TCP端口。, 5、定期进行数据备份, 为防止不能预料的系统故障或用户不小心的非法操作而导致的数据丢失,必须对美国独立服务器系统数据进行安全备份,除了对全系统数据进行每月一次的备份外,还应对修改过的美国独立服务器数据进行至少每周一次的备份,并且应该修改过的重要系统文件存放在不同主机上,也就是异地备份,以便出现系统崩溃时可以及时地将美国独立服务器系统恢复到正常状态。, 6、保护账号和密码安全, 账号和密码是美国独立服务器系统的第一道安全防线,目前网络大部分对美国独立服务器系统的DDoS攻击都是从截获密码开始。一旦黑客入侵美国独立服务器系统,那么前面的防卫措施就失去了作用,所以对美国独立服务器系统管理员的账号和密码进行管理,也是保证系统安全的重要措施。, 7、监测系统日志, 通过运行美国独立服务器系统日志程序,系统会自动记录下所有用户使用美国独立服务器系统的情况,包括最近登录时间、使用的账号、进行的活动等。,美国独立服务器日志程序会定期生成报表,通过对报表进行分析,美国独立服务器用户可以知道系统是否有出现有异常情况。, 以上内容就是关于美国独立服务器维护技巧的分享,希望能帮助到有需要的美国独立服务器用户们。, 现在vsping科技合作的美国VM机房的美国独立服务器所有配置都免费赠送防御值 ,可以有效防护网站的安全,以下是部分配置介绍:, , , vsping科技已与全球多个国家的顶级数据中心达成战略合作关系,为互联网外贸行业、金融行业、IOT行业、游戏行业、直播行业、电商行业等企业客户等提供一站式安全解决方案。持续关注vsping科技官网,获取更多IDC资讯!,, , 美国独立服务器有高性能、高可用性的优势,可以为美国独立服务器用户提供长期的运行支持,但美国独立服务器用户也需要日常进行系统维护才能保障系统的安全,从而发挥美国独立服务器的最优质性能,本文小编就来介绍下美国独立服务器的一些维护技巧。, 1、及时安装系统补丁,

采用 DIY 方式进行流式传输并设置您自己的直播服务器听起来像是一种简单的直播方式。一切都可以在内部按照您自己的方式完成,这一事实非常吸引人。不幸的是,推出自己的视频流服务器有一些严重的缺点。许多这些缺点是特定于流式传输视频时出现的问题。例如,熟悉标准 Web 内容的系统管理员可能无法应对流式直播内容的常见挑战和要求。在本文中,我们将重点介绍创建和运营自己的直播服务器的一些风险和陷阱,并提供一些自托管视频的替代方案。总结一下,如果您仍然觉得它是适合您的路线,我们将简要介绍如何构建实时视频流服务器。,,在操作您自己的直播流媒体服务器时,有许多潜在的缺点。其中包括延迟、缓冲、故障保护、容量安全等问题。让我们回顾一下决定使用 DIY 服务器进行直播的广播公司面临的七个最常见的问题和挑战。, 1.延迟,在广播世界中,延迟是指实时流中的延迟。这种滞后时间往往受到几个因素的影响。首先,距离很重要。处理跨电信网络传输的数据需要时间。因此,您的服务器离您的观众越远,您的内容就会显得越慢。视频延迟也会随着流量负载而增加。对于单个服务器或少量服务器,这些问题可能会变得很麻烦。这可以通过专业的内容交付网络 (CDN)来解决,该网络的服务器遍布全国甚至全球,以确保您的目标观众始终在范围内。但是,当您自行托管时,您无法访问顶级 CDN,因此您必须构建自己的. 这种方法可能不如由顶级技术和设备支持的实时流媒体 CDN可靠或有效。, 2.缓冲,服务器和查看器之间的网络速度变慢或瓶颈会导致实时视频馈送缓冲。您可能在尝试以查看者身份在线流式传输内容时经历过缓冲,因此您知道这有多令人沮丧。缓冲问题可以通过多比特率流和自适应播放器来缓解。这称为“自适应流”。但是,即使使用自适应流缓冲问题也可能持续存在。大多数在线视频平台都内置了自适应比特率流 (ABR),但自托管的用户可能无法访问此功能。如果没有自适应流媒体,任何互联网连接不够完美 的用户都可能会进行缓冲。如果您的视频病毒式传播并且单个服务器或小型集群受到大量请求的影响,您将面临更大的缓冲问题。在这种情况下,流甚至可能根本不加载。因此,您可能会失去观众和接触新观众的机会,以及其他负面后果。, 3.缺乏冗余,我们推荐的实时流媒体最佳做法是始终拥有备份流。两个流通过独立的路径到达您的观众,您可以绕过广播中的问题。这种双流方法称为“冗余”。当使用动态服务器网络时,例如实时流媒体内容交付网络,通常不存在此问题。如果一台机器离线,您的备份流将立即在线。由于服务器架构有限,冗余变得更加困难和复杂。由设备故障、电涌或其他系统范围的问题导致的服务中断可能会关闭您的整个流。即使您有备份流,当问题影响您的整个系统时,这也无关紧要。,, 4.规模限制,与运行自己的直播服务器相关的另一个问题与运营规模有关。每个服务器都有有限数量的可以同时流式传输的观众。从一台服务器扩展到两台(或随着受众的增长而增加)可能难以设置和配置。如果您经历了更大的增长或有病毒传播,您将需要显着且通常非常快速地提升基础设施。这样做的成本和复杂性可能会扼杀许多广播公司,尤其是个人和小型企业。此外,与最初与专业流媒体平台签约时相比,您最终可能会为解决持续存在的规模问题支付更多的费用。, 5.安全漏洞,运行自己的服务器意味着您拥有完全的自主权。这也意味着隐私和安全完全取决于您。在勒索软件、网络钓鱼攻击和盗版猖獗的世界中,保护服务器是一项复杂而艰巨的任务。但是,通过使用安全的流媒体提供商,您可以绕过对安全知识和投资的需求。与专业视频托管 平台(例如Dacast)相比,您可以在小范围内实施的任何措施都可能是次要的。, 6.技术债,对企业、非营利组织、大学和其他组织至关重要的一个概念是“技术债务”。从本质上讲,技术债务是指创建关键技术系统的后果。创建后,您必须维护这些完整的系统。即使您设计的系统是为了解决问题,它们最终也可能导致新的问题。,随着时间的推移,您投资的视频流技术越来越多,可能会产生技术债务。与财务债务类似,技术债务会拖累您自营的直播服务器的努力。这些技术义务会干扰您灵活地将时间和资源投入新技术的能力。当然,有时技术债务问题是无法避免的。尽管如此,对于任何构建自己的服务器的人来说,记住这一点是一个重要的考虑因素。, 7.没有技术支持,当直播过程中出现问题时,可能会非常令人沮丧。当您自行托管时,您无法享受端到端流媒体解决方案提供的24/7 客户支持。如果您雇用一个人或一个小团队来帮助您构建视频流服务器,您不能期望他们全天候提供故障排除和技术支持。即使您付钱让他们随叫随到,他们也不一定能够立即获得解决您的问题所需的工具和信息。, 探索自托管的替代方案,您是否知道通过专用的流媒体服务在您的网站上流式传输实时视频时可以保持对内容的控制?一个很好的选择是使用视频流托管服务提供商。大多数平台将软件即服务 (SaaS) 业务模型与基础架构即服务 (IaaS) 相结合。通过支付简单、可预测的月费,您可以获得世界一流的硬件和支持它 的直播软件。,由于它们更易于使用并且避免了与自托管相关的问题,因此您的组织可能需要考虑专业的视频托管软件解决方案。好消息是,如今,直播者可以从几个既方便又负担得起的视频流媒体软件平台中进行选择。例如,Dacast 流媒体服务为企业以及不隶属于企业的个人广播公司提供负担得起的实时流媒体、安全的私人视频托管。底线?我们建议考虑使用专用平台来规避风险、降低直播活动的成本以及与创建自己的流媒体解决方案相关的时间。,,尽管使用自己的直播服务器而不是使用专业的流媒体解决方案托管服务器存在潜在的缺点,但有些人仍然选择走这条路。构建流媒体视频服务器需要相当多的技术知识。请注意,采用 DIY 方法并创建自己的视频流服务器仍需要现有程序的支持。考虑到这一点,让我们快速了解如何构建直播视频服务器。, 1.选择一个开源项目,为了构建您的服务器,您需要访问预先存在的代码库。选择支持您首选的视频播放器和交付协议的开源项目。您或您的开发人员将使用此库来构建最适合您特定广播需求的服务器。这意味着您可以集成用于安全和货币化的工具。您还可以自定义视频播放器以匹配您的品牌,包括特殊控件(快进、快退等)并设置自适应比特率流等功能。, 2.下载OBS Studio,OBS Studio是一款免费的开源流媒体软件,可用于编码和其他直播功能。许多开发人员建议使用 OBS Studio与您的 DIY 服务器一起运行,以确保一切正常。, 3. 创建 CDN,正如我们所提到的,强大的视频流 CDN对于向远近的观众提供高质量的直播流至关重要。要为您的视频流服务器构建自己的 CDN,您必须首先确定您的交付是通过云还是物理远程服务器推送。物理服务器通常更可靠,但云流服务器可能更现实,具体取决于您可以使用的资源。一旦你得出云与物理的结论,你就需要为 ISP 和路由选择技术。然后,您将安排原始服务器和 PoP 的放置。从那里,我们建议下载Varnish,一种 CDN 构建工具,以支持将所有内容捆绑在一起。, ,采用 DIY 方式进行流式传输并设置您自己的直播服务器听起来像是一种简单的直播方式。一切都可以在内部按照您自己的方式完成,这一事实非常吸引人。不幸的是,推出自己的视频流服务器有一些严重的缺点。许多这些缺点是特定于流式传输视频时出现的问题。例如,熟悉标准 Web 内容的系统管理员可能无法应对流式直播内容的常见挑战和要求。在本文中,我们将重点介绍创建和运营自己的直播服务器的一些风险和陷阱,并提供一些自托管视频的替代方案。总结一下,如果您仍然觉得它是适合您的路线,我们将简要介绍如何构建实时视频流服务器。,,由于它们更易于使用并且避免了与自托管相关的问题,因此您的组织可能需要考虑专业的视频托管软件解决方案。好消息是,如今,直播者可以从几个既方便又负担得起的视频流媒体软件平台中进行选择。例如,Dacast 流媒体服务为企业以及不隶属于企业的个人广播公司提供负担得起的实时流媒体、安全的私人视频托管。底线?我们建议考虑使用专用平台来规避风险、降低直播活动的成本以及与创建自己的流媒体解决方案相关的时间。

什么是 RAID?RAID 代表独立磁盘冗余阵列。这对很多人来说可能意义不大,但让我们从头开始。它是一堆硬盘驱动器,通常在容量、大小、速度和型号上都匹配,它们组合在一起,通过软件或硬件提供驱动器冗余。实际上,它允许一个或多个(我们将讨论)驱动器在任何时间点发生故障或“降级”。,,例如,传统上,台式 PC 具有单个硬盘驱动器(或如今的 SSD)。如果此磁盘发生故障,系统将崩溃,除非您在另一个驱动器或云上进行了备份,否则您将面临丢失数据的非常高的风险。,RAID 所做的是将至少 2 个驱动器组合在一起,形成一个虚拟驱动器。然后,这将以与您的操作系统(Windows、Linux、Mac 等)完全相同的方式使用。但是好处是,如果其中一个驱动器启动或完全失败,则不会导致任何停机,并且对最终用户或服务器本身绝对没有影响。, 为什么需要 RAID,如果您的系统需要正常运行时间,例如,您无法等待更换驱动器到达并安装,以及数据恢复,那么您需要 RAID。这当然适用于几乎所有服务器设置,但对于台式 PC 的使用通常变得很重要——尽管 SSD 的可靠性在台式 PC 中略微抵消了这一点。,我们总是推荐 RAID 用于服务器系统,不管它在做什么。RAID 不必很昂贵,我们将在下面介绍各种 RAID“级别”。, 我需要哪个 RAID 级别?,有 4 种流行的 RAID 级别;, 软件 RAID 与硬件 RAID – 哪个更好?,软件 RAID通常是一个简单的板载 RAID 控制器,例如 Intel 的 RST,如今几乎所有主板上都可以找到它。它们非常简单,没有缓存 RAM,并且通常有相当简单的(如果根本没有的话)报告或管理程序。软件 RAID 将依赖 CPU 执行 RAID 操作,因此不会尽可能快。软件 RAID 通常只支持 RAID 0 和 1。有时它会支持 RAID 5、6 甚至 10,但这通常需要 Windows,因为操作系统/CPU 的高级驱动程序支持处理奇偶校验数据 – 这将是一个缓慢的系统.,硬件 RAID是专用的控制器卡,但更重要的是它具有 Cache RAM。通常,一个好的控制器具有大约 2GB 的缓存 RAM。硬件 RAID 控制器有自己的 CPU,它与高速缓存 RAM 对话以处理奇偶校验数据。这意味着 RAID 5、6 和 10 操作将非常快。然而,硬件 RAID 控制器可能很昂贵——因为您不仅需要控制器本身,而且还需要备用电池或超级电容模块. 这非常重要——它们的作用是在发生电源故障时将奇偶校验/事务数据(通常使用超级电容,几乎无限期地)存储在控制器缓存 RAM 中。电源故障可能是由任何原因引起的——系统崩溃、PSU 故障,当然还有电源故障。如果缓存 RAM 没有使用电池或超级电容器备份并且出现电源故障,那么您将面临 RAID 事务数据损坏的非常高的风险,这可能会导致数据丢失、数据损坏甚至丢失整个 RAID 阵列——不好。, ,什么是 RAID?RAID 代表独立磁盘冗余阵列。这对很多人来说可能意义不大,但让我们从头开始。它是一堆硬盘驱动器,通常在容量、大小、速度和型号上都匹配,它们组合在一起,通过软件或硬件提供驱动器冗余。实际上,它允许一个或多个(我们将讨论)驱动器在任何时间点发生故障或“降级”。,,

如果您从事业务有一段时间,您一定听说过甚至使用过云服务。云通过在其架构中提供虚拟机和网络来消除网络延迟。它们允许您公司的数据增长,同时只对您使用的数据收费。您不必担心升级系统和网络——云服务提供商会为您完成。云简化了体验,允许您使用可以处理各种平台的应用程序从任何地方和几乎任何平台访问您的数据。,, 云是现代技术的必需品,因为它们提供的速度和敏捷性是除最快的网络和服务器之外的所有其他技术所无法比拟的。话虽如此,IT 云解决方案有其自身的安全挑战,要求公司与其云服务提供商一起投资安全。正是这些安全挑战经常导致公司对转向云服务犹豫不决。, 以下是五个主要的云安全挑战以及 这些挑战的解决方案 。, 使用云托管服务的好处之一是不需要管理与云相关的服务器和网络等资源。缺点是您无法控制或了解那里正在发生的事情。您信任云服务公司,以确保您的数据保持安全且不被泄露。这可能是对 云安全 的严峻挑战,因为您可能无法正确看到正在发生的事情。这是您需要制定计划以确保数据安全的地方,并且可以避免可能的数据泄露。你可以这样做:, 使用云托管服务有其优势,但与任何 IT 解决方案一样,它也容易受到黑客攻击。无论是分布式拒绝服务 (DDoS) 攻击还是简单的数据泄露,如果您的云服务受到攻击,您的公司可能会丢失有价值的数据。不安全的 API 通常会为发现架构弱点的黑客留下敞开的后门。, 在规划应用程序和整体架构时,您需要制定一个强大的灾难恢复计划,以确保您有备份,并制定在出现问题时锁定系统的计划。通常,DDoS 攻击用于掩盖数据泄露和恶意篡改,因此为避免此类问题,请确保您经常备份。, 另一个问题是当公司允许员工访问所有关键数据时。如果员工可以访问他们原本不需要访问来完成工作的数据,他们可能与黑客一样危险。无论是有意还是无意,如果没有足够的保护措施,员工可以访问敏感数据,由于其专有性质,这些数据可能会损害公司。通过使用应用程序和云服务确保员工只能获得他们被允许的数据,公司可以确信敏感数据不会落入坏人之手。,, 使用云服务的一大特点是能够使用使用 API 的应用程序从任何地方访问您的数据。经常使用云服务的应用程序使用 API 在应用程序和云之间进行通信。这使得云可以灵活地用于许多不同的应用程序。, 不利的一面是,如果您拥有不安全的 API 或无法屏蔽潜在欺骗地址的防火墙,这会使您的数据向世界开放。通过安装行为 Web 应用程序防火墙,您将获得更高的安全性。这种类型的防火墙检查 HTTP 请求并分析它们以确保流量是合法的。在数据在应用程序和云之间传输时对其进行加密也将减少数据被劫持的机会。, 一些行业,如金融和医疗保健,是通过政府监管的,并且由于强制要求而需要合规。不遵守规定的公司和组织将面临严厉的罚款、诉讼、刑事处罚,甚至起诉。一些法规包括 HIPAA、PCI DSS、FISMA、GLBA 和 GDPR。如果您的行业需要遵守特定的法律,您的云服务提供商需要遵守政府制定的法规。, 您的公司或组织可以通过选择和验证您选择的云服务公司是否符合法规来确保合规性。最好的方法是与监管机构核实,并获取经认证符合强制性法规的云服务提供商列表。, 尽管您的公司和云主机尽了最大的努力,您仍然可能存在安全漏洞,并且您的数据可能会受到损害。这就是为什么在出现安全漏洞时必须拥有警报和通知以及安全日志的原因。了解哪些文件和数据受到影响将大大有助于纠正这种情况。, 如果您的系统可以在发生违规行为时进行记录,那么您不仅会知道哪些数据受到了影响,而且还可以确定哪些客户或客户受到了影响。无需向所有客户或客户发送一揽子通知,您只需联系受数据泄露影响的人并采取适当措施即可。, 与任何技术一样, 云在安全方面也有自己的挑战 。尽管对于那些使用云服务的公司来说,安全是一个问题,但这些问题可以通过有远见的规划来解决,以确保您公司的数据是安全的。, , 如果您从事业务有一段时间,您一定听说过甚至使用过云服务。云通过在其架构中提供虚拟机和网络来消除网络延迟。它们允许您公司的数据增长,同时只对您使用的数据收费。您不必担心升级系统和网络——云服务提供商会为您完成。云简化了体验,允许您使用可以处理各种平台的应用程序从任何地方和几乎任何平台访问您的数据。,,

计算机领域的很多技术都是需求推动的,上世纪90年代,由于互联网的飞速发展,网络服务器无法支撑快速增长的用户规模。1999年,Dan Kegel提出了著名的C10问题:一台服务器上同时处理10000个客户网络连接。10000个网络连接并不会发送请求到服务器,有些连接并不活跃,同一时刻,只有极少的部分连接发送请求。不同的服务类型,每个连接发送请求的频率也不相同,游戏服务器的连接会频繁的发送请求,而Web服务器的连接发送请求的频率就低很多。无论如何,根据经验法则,对于特定的服务类型,连接越多,同一时刻发送请求的连接也越多。,时至今日,C10K问题当然早已解决,不仅如此,一台机器能支撑的连接越来越多,后来提出了C10M问题,在一台机器上支撑1000万的连接,2015年,MigratoryData在单机承载12M的连接,解决了C10M问题。,本文先回顾C10问题的解决方案,再探讨如何构建支撑C10M的应用程序,聊聊其中涉及的各种技术。,时间退回到1999年,当时要实现一个网络服务器,大概有这样几种模式,这是一种非常简单的模式,服务器启动后监听端口,阻塞在accept上,当新网络连接建立后,accept返回新连接,服务器启动一个新的进程/线程专门负责这个连接。从性能和伸缩性来说,这种模式是非常糟糕的,原因在于,有意思的是,这种模式虽然性能极差,但却依然是我们今天最常见到的模式,很多Web程序都是这样的方式在运行。,另外一种方式是使用select/poll,在一个线程内处理多个客户连接。select和poll能够监控多个socket文件描述符,当某个文件描述符就绪,select/soll从阻塞状态返回,通知应用程序可以处理用户连接了。使用这种方式,我们只需要一个线程就可以处理大量的连接,避免了多进程/线程的开销。之所以把select和poll放在一起说,原因在于两者非常相似,性能上基本没有区别,唯一的区别在于poll突破了select 1024个文件描述符的限制,然而当文件描述符数量增加时,poll性能急剧下降,因此所谓突破1024个文件描述符实际上毫无意义。select/poll并不完美,依然存在很多问题:,这两个限制让select/poll完全失去了伸缩性。连接数越多,文件描述符就越多,文件描述符越多,每次调用select/poll所带来的用户空间到内核空间的复制开销越大。最严重的是当报文达到,select/poll返回之后,必须遍历所有的文件描述符。假设现在有1万个连接,其中只一个连接发送了请求,但是select/poll就要把1万个连接全部检查一遍。,FreeBSD 4.1引入了kqueue,此时是2000年7月,而在Linux上,还要等待2年后的2002年才开始引入kqueue的类似实现: epoll。epoll最初于 2.5.44进入Linux kernel mainline,此时已经是2002年,距离C10K问题提出已经过了3年。,epoll是如何提供一个高性能可伸缩的IO多路复用机制呢?首先,epoll引入了epoll instance这个概念,epoll instance在内核中关联了一组要监听的文件描述符配置:interest list,这样的好处在于,每次要增加一个要监听的文件描述符,不需要把所有的文件描述符都配置一次,然后从用户地址空间复制到内核地址空间,只需要把单个文件描述符复制到内核地址空间,复制开销从O(n)降到了O(1)。,注册完文件描述符后,调用epoll_wait开始等待文件描述符事件。epoll_wait可以只返回已经ready的文件描述符,因此,在epoll_wait返回之后,程序只需要处理真正需要处理的文件描述符,而不用把所有的文件描述符全部遍历一遍。假设在全部N个文件描述符中,只有一个文件描述符Ready,select/poll要执行N次循环,epoll只需要一次。,epoll出现之后,Linux上才真正有了一个可伸缩的IO多路复用机制。基于epoll,能够支撑的网络连接数取决于硬件资源的配置,而不再受限于内核的实现机制。CPU越强,内存越大,能支撑的连接数越多。,不同的操作系统上提供了不同的IO多路复用实现,Linux上有epoll,FreeBSD有kqueue,Windows有IOCP。对于需要跨平台的程序,必然需要一个抽象层,提供一个统一的IO多路复用接口,屏蔽各个系统接口的差异性。,Reactor是实现这个目标的一次尝试,最早出现在Douglas C. Schmidt的论文”The Reactor An Object-Oriented Wrapper for Event-Driven Port Monitoring and Service Demultiplexing”中。从论文的名字可以看出,Reactor是poll这种编程模式的一个面向对象包装。考虑到论文的时间,当时正是面向对象概念正火热的时候,什么东西都要蹭蹭面向对象的热度。论文中,DC Schmidt描述了为什么要做这样的一个Wrapper,给出了下面几个原因,实际上除了第三条跨平台,其他几个理由实在难以站得住脚。select/poll这类接口复杂吗,使用起来容易出错吗,写出来的程序难以扩展吗?不过不这么说怎么体现Reactor的价值呢。正如论文名称所说的,Reactor本质是对操作系统IO多路复用机制的一个面向对象包装,为了证明Reactor的价值,DC Schmidt还用C++面向对象的特性实现了一个编程框架:ACE,实际上使用ACE比直接使用poll或者epoll复杂多了。,后来DC Schmidt写了一本书《面向模式的软件架构》,再次提到了Reactor,并重新命名为Reactor Pattern,现在网络上能找到的Reactor资料,基本上都是基于Reactor Pattern,而不是早期的面向Object-Orientend Wrapper。,《面向模式的软件》架构中还提到了另外一种叫做Proactor的模式,和Reactor非常类似,Reactor针对同步IO,Proactor则针对异步IO。,Reactor看上去并不复杂,但是想编写一个完整的应用程序时候就会发现其实没那么简单。为了避免Reactor主逻辑阻塞,所有可能会导致阻塞的操作必须注册到epoll上,带来的问题就是处理逻辑的支离破碎,大量使用callback,产生的代码复杂难懂。如果应用程序中还有非网络IO的阻塞操作,问题更严重,比如在程序中读写文件。Linux中文件系统操作都是阻塞的,虽然也有Linux AIO,但是一直不够成熟,难堪大用。很多软件采用线程池来解决这个问题,不能通过epoll解决的阻塞操作,扔到一个线程池执行。这又产生了多线程内存开销和上下文切换的问题。,Future机制是对Callback的简单优化,本质上还是Callback,但是提供了一致的接口,代码相对来说简单一些,不过在实际使用中还是比较复杂的。Seastar是一个非常彻底的future风格的框架,从它的代码可以看到这种编程风格真的非常复杂,阻塞式编程中一个函数几行代码就能搞定的事情,在Seastar里需要上百行代码,几十个labmda (在Seastar里叫做continuation)。,纤程是一种用户态调度的线程,比如Go语言中的goroutine,有些人可能会把这种机制成为coroutine,不过我认为coroutine和纤程还是有很大区别的,coroutine是泛化的子进程,具有多个进入和退出点,用来一些一些相互协作的程序,典型的例子就是Python中的generator。纤程则是一种运行和调度机制。,纤程真正做到了高性能和易用,在Go语言中,使用goroutine实现的高性能服务器是一件轻松愉快的事情,完全不用考虑线程数、epoll、回调之类的复杂操作,和编写阻塞式程序完全一样。,网络子系统是Linux内核中一个非常庞大的组件,提供了各种通用的网络能力。通用通常意味在在某些场景下并不是最佳选择。实际上业界的共识是Linux内核网络不支持超大并发的网络能力。根据我过去的经验,Linux最大只能处理1MPPS,而现在的10Gbps网卡通常可以处理10MPPS。随着更高性能的25Gbps,40Gbps网卡出现,Linux内核网络能力越发捉襟见肘。,为什么Linux不能充分发挥网卡的处理能力?原因在于:,Linux高性能网络一个方向就是绕过内核的网络栈(kernel bypass),业界有不少尝试,kernel bypass技术最大的问题在于不支持POSIX接口,用户没办法不修改代码直接移植到一种kernel bypass技术上。对于大多数程序来说,还要要运行在标准的内核网络栈上,通过调整内核参数提升网络性能。,报文到达网卡之后,在一个CPU上触发中断,CPU执行网卡驱动程序从网卡硬件缓冲区读取报文内容,解析后放到CPU接收队列上。这里所有的操作都在一个特定的CPU上完成,高性能场景下,单个CPU处理不了所有的报文。对于支持多队列的网卡,报文可以分散到多个队列上,每个队列对应一个CPU处理,解决了单个CPU处理瓶颈。,为了充分发挥多队列网卡的价值,我们还得做一些额外的设置:把每个队列的中断号绑定到特定CPU上。这样做的目的,一方面确保网卡中断的负载能分配到不同的CPU上,另外一方面可以将负责网卡中断的CPU和负责应用程序的CPU区分开,避免相互干扰。,在Linux中,/sys/class/net/${interface}/device/msi_irqs下保存了每个队列的中断号,有了中断号之后,我们就可以设置中断和CPU的对应关系了。网上有很多文章可以参考。,回忆下TCP数据的发送过程:应用程序将数据写到套接字缓冲区,内核将缓冲区数据切分成不大于MSS的片段,附加上TCP Header和IP Header,计算Checksum,然后将数据推到网卡发送队列。这个过程中需要CPU全程参与, 随着网卡的速度越来越快,CPU逐渐成为瓶颈,CPU处理数据的速度已经赶不上网卡发送数据的速度。经验法则,发送或者接收1bit/s TCP数据,需要1Hz的CPU,1Gbps需要1GHz的CPU,10Gbps需要10GHz的CPU,已经远超单核CPU的能力,即使能完全使用多核,假设单个CPU Core是2.5GHz,依然需要4个CPU Core。,为了优化性能,现代网卡都在硬件层面集成了TCP分段、添加IP Header、计算Checksum等功能,这些操作不再需要CPU参与。这个功能叫做tcp segment offloading,简称tso。使用ethtool -k 可以检查网卡是否开启了tso,除了tso,还有其他几种offloading,比如支持udp分片的ufo,不依赖驱动的gso,优化接收链路的lro,随着摩尔定律失效,CPU已经从追求高主频转向追求更多的核数,现在的服务器大都是96核甚至更高。构建一个支撑C10M的应用程序,必须充分利用所有的CPU,最重要的是程序要具备水平伸缩的能力:随着CPU数量的增多程序能够支撑更多的连接。,很多人都有一个误解,认为程序里使用了多线程就能利用多核,考虑下CPython程序,你可以创建多个线程,但是由于GIL的存在,程序最多只能使用单个CPU。实际上多线程和并行本身就是不同的概念,多线程表示程序内部多个任务并发执行,每个线程内的任务可以完全不一样,线程数和CPU核数没有直接关系,单核机器上可以跑几百个线程。并行则是为了充分利用计算资源,将一个大的任务拆解成小规模的任务,分配到每个CPU上运行。并行可以 通过多线程实现,系统上有几个CPU就启动几个线程,每个线程完成一部分任务。,并行编程的难点在于如何正确处理共享资源。并发访问共享资源,最简单的方式就加锁,然而使用锁又带来性能问题,获取锁和释放锁本身有性能开销,锁保护的临界区代码不能只能顺序执行,就像CPython的GIL,没能充分利用CPU。,这两种方式的思路是一样的,都是创建变量的多个副本,使用变量时只访问本地副本,因此不需要任何同步。现代编程语言基本上都支持Thread Local,使用起来也很简单,C/C++里也可以使用__thread标记声明ThreadLocal变量。,Per-CPU则依赖操作系统,当我们提到Per-CPU的时候,通常是指Linux的Per-CPU机制。Linux内核代码中大量使用Per-CPU变量,但应用代码中并不常见,如果应用程序中工作线程数等于CPU数量,且每个线程Pin到一个CPU上,此时才可以使用。,如果共享资源是int之类的简单类型,访问模式也比较简单,此时可以使用原子变量。相比使用锁,原子变量性能更好。在竞争不激烈的情况下,原子变量的操作性能基本上和加锁的性能一致,但是在并发比较激烈的时候,等待锁的线程要进入等待队列等待重新调度,这里的挂起和重新调度过程需要上下文切换,浪费了更多的时间。,大部分编程语言都提供了基本变量对应的原子类型,一般提供set, get, compareAndSet等操作。,lock-free这个概念来自,non-blocking算法任何线程失败或者挂起,不会导致其他线程失败或者挂起,lock-free则进一步保证线程间无依赖。这个表述比较抽象,具体来说,non-blocking要求不存在互斥,存在互斥的情况下,线程必须先获取锁再进入临界区,如果当前持有锁的线程被挂起,等待锁的线程必然需要一直等待下去。对于活锁或者饥饿的场景,线程失败或者挂起的时候,其他线程完全不仅能正常运行,说不定还解决了活锁和饥饿的问题,因此活锁和饥饿符合non-blocking,但是不符合lock-free。,实现一个lock-free数据结构并不容易,好在已经有了几种常见数据结构的的lock-free实现:buffer, list, stack, queue, map, deque,我们直接拿来使用就行了。,有时候没有条件使用lock-free,还是得用锁,对于这种情况,还是有一些优化手段的。首先使用尽量减少临界区的大小,使用细粒度的锁,锁粒度越细,并行执行的效果越好。其次选择适合的锁,比如考虑选择读写锁。,使用CPU affinity机制合理规划线程和CPU的绑定关系。前面提到使用CPU affinity机制,将多队列网卡的中断处理分散到多个CPU上。不仅是中断处理,线程也可以绑定,绑定之后,线程只会运行在绑定的CPU上。为什么要将线程绑定到CPU上呢?绑定CPU有这样几个好处,Linux上设置CPU affinity很简单,可以使用命令行工具taskset,也可以在程序内直接调用API sched_getaffinity和 sched_setaffinity,Linux中,程序内使用的内存地址是虚拟地址,并不是内存的物理地址。为了简化虚拟地址到物理地址的映射,虚拟地址到物理地址的映射最小单位是“Page”,默认情况下,每个页大小为4KB。CPU指令中出现的虚拟地址,为了读取内存中的数据,指令执行前要把虚拟地址转换成内存物理地址。Linux为每个进程维护了一张虚拟地址到物理地址的映射表,CPU先查表找到虚拟地址对应的物理地址,再执行指令。由于映射表维护在内存中,CPU查表就要访问内存。相对CPU的速度来说,内存其实是相当慢的,一般来说,CPU L1 Cache的访问速度在1ns左右,而一次内存访问需要60-100ns,比CPU执行一条指令要慢得多。如果每个指令都要访问内存,比如严重拖慢CPU速度,为了解决这个问题,CPU引入了TLB(translation lookaside buffer),一个高性能缓存,缓存映射表中一部分条目。转换地址时,先从TLB查找,没找到再读内存。,显然,最理想的情况是映射表能够完全缓存到TLB中,地址转换完全不需要访问内存。为了减少映射表大小,我们可以使用“HugePages”:大于4KB的内存页。默认HugePages是2MB,最大可以到1GB。,内存分配是个复杂且耗时的操作,涉及空闲内存管理、分配策略的权衡(分配效率,碎片),尤其是在并发环境中,还要保证内存分配的线程安全。如果内存分配成为了应用瓶颈,可以尝试一些优化策略。比如内存复用i:不要重复分配内存,而是复用已经分配过的内存,在C++/Java里则考虑复用已有对象,这个技巧在Java里尤其重要,不仅能降低对象创建的开销,还避免了大量创建对象导致的GC开销。另外一个技巧是预先分配内存,实际上相当于在应用内实现了一套简单的内存管理,比如Memcached的Slab。,对于一个Web服务器来说,响应一个静态文件请求需要先将文件从磁盘读取到内存中,再发送到客户端。如果自信分析这个过程,会发现数据首先从磁盘读取到内核的页缓冲区,再从页缓冲区复制到Web服务器缓冲区,接着从Web服务器缓冲区发送到TCP发送缓冲区,最后经网卡发送出去。这个过程中,数据先从内核复制到进程内,再从进程内回到内核,这两次复制完全是多余的。Zero Copy就是类似情况的优化方案,数据直接在内核中完成处理,不需要额外的复制。,Linux中提供了几种ZeroCopy相关的技术,包括 sendfile, splice, copy_file_range,Web服务器中经常使用 sendfile优化性能。,, ,计算机领域的很多技术都是需求推动的,上世纪90年代,由于互联网的飞速发展,网络服务器无法支撑快速增长的用户规模。1999年,Dan Kegel提出了著名的C10问题:一台服务器上同时处理10000个客户网络连接。10000个网络连接并不会发送请求到服务器,有些连接并不活跃,同一时刻,只有极少的部分连接发送请求。不同的服务类型,每个连接发送请求的频率也不相同,游戏服务器的连接会频繁的发送请求,而Web服务器的连接发送请求的频率就低很多。无论如何,根据经验法则,对于特定的服务类型,连接越多,同一时刻发送请求的连接也越多。,时至今日,C10K问题当然早已解决,不仅如此,一台机器能支撑的连接越来越多,后来提出了C10M问题,在一台机器上支撑1000万的连接,2015年,MigratoryData在单机承载12M的连接,解决了C10M问题。,网络子系统是Linux内核中一个非常庞大的组件,提供了各种通用的网络能力。通用通常意味在在某些场景下并不是最佳选择。实际上业界的共识是Linux内核网络不支持超大并发的网络能力。根据我过去的经验,Linux最大只能处理1MPPS,而现在的10Gbps网卡通常可以处理10MPPS。随着更高性能的25Gbps,40Gbps网卡出现,Linux内核网络能力越发捉襟见肘。

,

如今,拥有一个合法的网站已成为一种商业必需品。与拥有一个网站一样重要的是保持它的安全性,这一点更为重要。现在许多人可能认为他们的网站不值得被黑客入侵。但是,请记住,每个网站都面临被黑客入侵的风险。通常,大多数安全漏洞不会窃取或篡改您的数据,但主要是它试图将您的服务器用于发送垃圾邮件或托管任何临时非法网络服务器或分发任何非法文件。,,利用服务器的其他一些常见方法包括使用它来铸造比特币或将其用作任何僵尸网络的一部分等。有时非法勒索软件也会由此类网络服务器生成和分发以进行黑客攻击。自动生成的脚本通常会进行这些黑客攻击。因此,这里有八个 Web 服务器安全提示,可为您的 Web 服务器提供 360 度全方位的安全保护。, 1、使用安全连接,要创建和维护安全的 Web 服务器,请确保您使用的是安全的已建立连接。创建安全连接的最佳方法是使用Secured Shell Protocol。使用安全外壳协议的显着优势是它可以在交换期间和期间加密各种数据。尽管您需要安装一个 SSP 守护进程并拥有一个 SSP 客户端来发出命令、管理服务并进行远程访问。作为附加说明,请记住 SSH 端口号是 22。为了创建额外的安全层,最好将端口号配置在“1024 到 32 或 767”等范围内的某个位置。, 2、使用认证密钥,通常,人们使用密码等传统安全技术来验证 SSH 服务器。但是,通过使用密钥,您可以增加一层安全性,因为密钥比传统密码携带更多位,因此几乎无法破解。作为一个简单的类比,如果您使用 RSA 2048 位加密,则相当于接近 617 位密码。, 3、保护传输协议,在不存在任何数据泄露风险的情况下与服务器传输文件的最佳方式是使用安全文件传输协议。这种过程通过加密数据文件和验证您的信息以双重模式工作。通常,FTPS 使用两种通道,即命令通道和数据通道。作为用户,您可以同时加密两者。但是请注意,FTPS 只能在传输时保护您的数据,但当它到达服务器时,它不再被加密。因此,在上传到服务器时添加一层安全加密是必要的。, 4、使用虚拟专用网络和专用网络,维护安全 Web 服务器的最简单和最可靠的方法之一是使用虚拟专用网络或虚拟专用网络。与其他所有人都可以访问的开放系统不同,虚拟专用网络限制访问并且只允许选择性用户。通常,这些私网使用私网 IP 来建立隔离连接。因此,连接到同一帐户的所有服务器都可以建立连接并共享信息,而没有任何外部干扰的风险。,, 5、检查登录尝试,另一个主要的 Web 服务器安全提示以检查登录尝试的形式出现。通常,自动黑客攻击使用试错软件,该软件使用各种字母数字组合并获得系统访问权限。使用入侵防御/检测软件密切关注存储在服务器中的所有文件,并检测是否有任何可疑活动。并且万一登录尝试次数超过一定阈值,此类软件还可以将IP地址封锁一段时间甚至无限期。, 6、删除所有不必要的服务,永远记住,默认操作系统安装永远不会受到保护。通常,常规网站和移动应用程序开发公司会提供一个典型的默认安装包,其中包含几个服务,无需任何网络服务器配置。一些这样的常见示例包括远程注册、服务器打印、RAS 和各种其他功能。只要记住服务的数量越多,就会有越多的端口可供黑客攻击。所以关闭所有不必要的并禁用它们。, 7、保持更新,现在,大多数顶级网站和移动应用程序服务都定期提供更新已经不是什么新鲜事了。请记住,您的更新越定期,您的网站就越安全。一个旧的、过时的网站已经被曝光和利用。保留它会使黑客更容易攻击。保持网站的最佳方式是设置自动更新机制。但是,为了增加一层安全性,许多网站和移动应用程序服务建议您先在测试环境中测试更新的工作方式,然后再完全使用它。, 8、定期检查恶意软件,现在在一个理想的情况下,您希望从您的网站服务器中移除各种黑客和恶意软件。但是,以防万一他们设法破坏您的安全层,保留恶意软件检测器可能是您最后的手段。有大量针对Linux 和 rootkit 的目标软件。大多数领先的移动应用程序开发公司都使用两者的组合,并每天生成文件的哈希计数,以将其与任何可疑的更改相结合。定期保存数据备份并采取许多其他常见预防措施,以帮助您为服务器创建 360 度保护。但是,它不能保证 100% 的安全性,但它可以更大程度地保护您的服务器。, ,如今,拥有一个合法的网站已成为一种商业必需品。与拥有一个网站一样重要的是保持它的安全性,这一点更为重要。现在许多人可能认为他们的网站不值得被黑客入侵。但是,请记住,每个网站都面临被黑客入侵的风险。通常,大多数安全漏洞不会窃取或篡改您的数据,但主要是它试图将您的服务器用于发送垃圾邮件或托管任何临时非法网络服务器或分发任何非法文件。,,

据专家介绍,最大的安全问题是使用弱字典密码。使用弱密码的用户依赖于输入密码的速度和易用性,而不是安全性。一个短密码,仅由字母组成,不使用数字或特殊字符,可以在几分钟内获取。获得对企业服务器的访问权限后,攻击者可以:,获得对服务的未经授权访问的问题有多种形式,主要基于提供此类服务的软件本身的错误或未记录的功能。但是服务的故障(正常功能的中断)问题在现代计算机世界中是非常相关的。此类攻击称为拒绝服务 (DoS) 攻击。拒绝服务攻击可以在整个范围内实施:物理、通道、网络、会话。,,保护和监视是系统管理员的职责。这应该可以保护服务器免受各种方式的攻击。为此,安全服务会定期更新,负责搜索易受攻击的区域。此外,专门的安全协议用于操作。如果您有兴趣担任管理员,您可以按专业查看建议的职位空缺列表:远程管理员。组织服务器的全部功能及其安全性的过程,安全性的概念包括以下组件:, 1.信息安全,确保信息安全意味着使用软件服务保护存储在服务器上的信息。服务器上的所有材料都受到保护。此类别包括经过编辑然后布置或到达特定服务器的信息。这应该包括可以处理、接收或发送给服务器的信息, 2.技术安全,这种类型的安全性由 VT 的物理功能和一组附加设备决定。不幸的是,技术安全目前处于比信息更可悲的状态,但应该更多地关注这个组件。在项目开发过程的准备阶段反思技术保护是必不可少的。选择具有最佳保护和可靠性参数的设备,注意符合热条件,准备备用系统以防主系统出现故障。, 3.组织安全,该组件负责确保服务器站和整个系统的可操作性。为此使用了行政和经济的方法。为了确保信息的安全,有必要制定可以访问所有数据和技术的人员名单、更改密码及其目的的制度,当然,还要遵守信息保密的参数。,,黑客是由明确编写的自动脚本连续执行的,这些脚本是为了搜索 Internet 并尝试侵入具有已知软件漏洞的网站。如果您在此问题上不使用专家帮助,那么您必须学习以下提示:, 1.改进您的密码,为您的服务器和网站管理单元使用复杂密码至关重要,但同样重要的是要求您的用户为其帐户使用复杂密码。尽管用户不喜欢这样,强制性的密码要求,例如至少八个字符的最小长度,包括密码中的大写字符或数字,将有助于他们最终保存他们的信息。密码应始终以加密形式存储,最好使用单向散列算法,例如 SHA。使用此方法授权用户时,您会比较加密的值。, 2.数据和文件管理,允许用户将文件上传到您的网站可能会带来安全风险,即使只是更改头像的问题。危险在于,任何下载的文件,无论它看起来多么无害,都可能包含一个脚本,当在您的服务器上执行时,该脚本允许访问您的站点。,如果您的网站上有文件上传表单,那么您需要怀疑所有上传的文件。如果您允许用户上传图片,那么在确定数据类型时,您不能依赖扩展名或 mime 类型,因为它们很容易被篡改。,即使打开文件并读取其标题或使用图像大小检查功能也不是 100% 的安全保证。大多数图像格式都允许您存储注释,其中还可以包含可以在服务器上执行的 PHP 代码。, 3.使用 SSL 保护您的服务器,SSL 是一种用于确保通过 Internet 传输数据时的安全性的协议。每次在客户端和 Web 服务器或数据库之间传输个人信息时,最好使用安全证书。攻击者可以监听通信通道,如果不安全,则拦截传输的信息并使用它来访问用户帐户和个人信息。,, 4.保护你的 XSS,跨站点脚本是指攻击者试图将 JavaScript 或其他代码提交到 Web 表单以在您的网站上执行恶意代码。创建表单时,请始终检查用户向您提供的数据,并对任何特殊字符进行编码或屏蔽。, 5.虚拟专用网络作为保护服务器的另一种方式,虚拟专用网络或虚拟专用网络为远程计算机之间的安全连接提供支持,就像它们在本地网络上一样。在私有网络和公共网络之间,始终建议选择第一个。但请记住:由于数据中心的其他用户可以访问同一网络,因此必须采取额外措施来确保服务器之间的安全通信。,虚拟专用网络本质上是一种构建只有您的服务器才能看到的专用网络的方法。服务器交互将是完全保密和安全的。其他应用程序可以配置为通过虚拟虚拟专用网络接口传输流量。因此,客户将只能访问那些设置为支持来自 Internet 的连接的服务。,本文中描述的安全提示只是您可以实施以增强服务器安全性的一些主要增强功能。应该注意的是,您越早执行特定的安全工具,它的效率就越高。服务器安全是一个严肃的问题,如果你想避免黑客攻击,你不能忽视它。, ,据专家介绍,最大的安全问题是使用弱字典密码。使用弱密码的用户依赖于输入密码的速度和易用性,而不是安全性。一个短密码,仅由字母组成,不使用数字或特殊字符,可以在几分钟内获取。获得对企业服务器的访问权限后,攻击者可以:,获得对服务的未经授权访问的问题有多种形式,主要基于提供此类服务的软件本身的错误或未记录的功能。但是服务的故障(正常功能的中断)问题在现代计算机世界中是非常相关的。此类攻击称为拒绝服务 (DoS) 攻击。拒绝服务攻击可以在整个范围内实施:物理、通道、网络、会话。, 4.保护你的 XSS