PHP安全:保障内容安全

 [[346226]]

除了Web系统本身不要出现漏洞而被攻击者利用外,还需要将内容数据安全地送达给用户,并且用户安全地接收内容数据。防止在传输过程中内容被篡改,防止用户提交非法内容,确保接收的内容是系统可接收的。

1、不安全的HTTP传输

HTTP传输的数据都是未加密的,也就是明文,因此在传输过程中,随时可能被截获,客户端与服务器之间没有任何身份确认的过程,数据全部明文传输,所以很容易遭到攻击,因此使用HTTP传输隐私信息非常不安全。

图1是普通HTTP的传输,HTTP传输面临以下风险。

(1)窃听风险:攻击者可以获取所有通信内容。

(2)篡改风险:攻击者可以修改所有通信内容。

(3)冒充风险:攻击者以冒充他人身份参与通信。

图1  HTTP被拦截

为了防止上述现象的发生,研发人员对传输的信息进行对称加密。如图2中所展示的,即使攻击者截获传输的信息,也无法破解。

图2  对称加密

使用对称加密,双方拥有相同的密钥,信息得到安全传输,但此种方式有以下缺点。

(1)不同的客户端、服务器数量庞大,所以双方都需要维护大量的密钥,维护成本很高。

(2)因每个客户端、服务器的安全级别不同,所以密钥极易泄露。

为了防止对称加密中的密钥泄露,如图3所示,使用非对称加密客户端用公钥对请求内容加密,服务器使用私钥对内容解密,反之亦然。但这个过程也存在缺点,公钥是公开的(也就是攻击者也会有公钥),所以服务端私钥加密的信息,如果被恶意攻击者截获,攻击者可以使用公钥行解密,获取其中的内容。

图3  非对称加密

为了兼顾性能和安全问题,人们将对称加密、非对称加密两者结合起来,发挥两者各自的优势。图4展示的是混合加密。

图4  混合加密

客户端使用公钥加密对称密钥,服务器收到信息后,用私钥解密,提取出对称加密算法和对称密钥后,后续两者之间信息的传输便可使用对称加密的方式。

但是还存在以下问题。

(1)客户端获得的公钥无法确定是真实的还是攻击者伪造的。

(2)无法确认服务器是真实的而不是攻击者的。

因此传输过程还是存在被劫持可能性,如图5所示。

图5  加密传输被劫持

2、HTTPS传输更安全

为了保证这些隐私数据能加密传输,Netscape(网景)公司设计了安全套接层(Secure Sockets Layer,SSL)协议用于对HTTP传输的数据进行加密,从而诞生了HTTPS。

HTTPS能够加密信息,可防止数据信息在传输过程中被第三方窃取、修改,确保数据的完整性,所以很多银行网站或电子邮箱等安全级别较高的服务采用了HTTPS。随着安全意识的提高,目前主流网站陆续在使用HTTPS。

图6展示了HTTPS的请求过程,客户端在接收到服务端发来的SSL证书时,会对证书的真伪进行校验。下面以浏览器为例进行说明。

图6  HTTPS请求过程

(1)浏览器读取证书中的证书所有者、有效期等信息并进行一一校验。

(2)浏览器开始查找操作系统中已内置的受信任的证书发布机构CA,与服务器发来的证书中的颁发者CA比对,用于校验证书是否为合法机构颁发。

(3)如果找不到,浏览器就会报错,说明服务器发来的证书是不可信任的。

(4)如果找到,浏览器就会从操作系统中取出颁发者CA的公钥,然后对服务器发来的证书里的签名进行解密。

(5)浏览器使用相同的散列算法计算出服务器发来的证书的散列值,将这个计算的散列值与证书中签名进行对比。

(6)如果对比结果一致,则证明服务器发来的证书合法,没有被冒充。

(7)此时浏览器就可以读取证书中的公钥,用于后续加密。

通过发送SSL证书的形式,既解决了公钥获取问题,又解决了攻击者冒充问题,所以相比HTTP,HTTPS传输更加安全。

(1)所有信息都是加密传播的,攻击者无法窃听。

(2)具有校验机制,一旦被篡改,通信双方都会立刻发现。

(3)配备身份证书,防止身份被冒充。

相比HTTP,HTTPS增加了很多握手、加密解密等流程,虽然过程很复杂,但可以保证数据传输的安全。在这个互联网膨胀的时代,其中隐藏着各种看不见的危机,为了保证数据的安全,维护网络定,建议使用HTTPS。

3、防止盗链

盗链是指网站拥有者自己不对资源进行存储,而是通过技术手段盗取其他网站服务商的内容资源直接在自己的网站上进行展示,骗取最终用户的浏览和点击。盗取的内容主要是图片、视频以及其他资源下载文件。网站盗链会大量消耗被盗链网站的带宽和系统资源,从而增加服务器的负担,损害企业的利益,同时给企业形象造成负面影响。

为了防止服务器资源被盗取,通常可以检测访问源的Referer来进行过滤,如在Nginx中配置Referer检查,检查Referer是否是在指定的域名来源中,如www.ptpress.com.cn、ptpress.com.cn,防止jpg|gif|png|swf|flv|wma|wmv|mp3|zip|rar这些静态资源被第三方引用。如果没有通过检测,则直接返回“404资源无法找到”。 

  1. location ~*^.+\.(jpg|gif|png|swf|flv|wma|wmv|mp3|zip|rar)$ {  
  2. valid_referers none blocked www.ptpress.com.cn ptpress.com.cn;  
  3. if($invalid_referer) {  
  4. return 404;  
  5. break;  
  6.  
  7. access_log off;  

如果是使用Apache作为Web服务器,可以直接在.htaccess中进行配置,设置方式如下。 

  1. RewriteEngine on  
  2. RewriteCond %{HTTP_REFERER} !^$ [NC]  
  3. RewriteCond %{HTTP_REFERER} !ptpress.com.cn [NC] 
  4. RewriteCond %{HTTP_REFERER} !www.ptpress.com.cn [NC]  
  5. RewriteRule .*\.(jpg|gif|png|swf|flv|wma|wmv|mp3|zip|rar)$ http://www.ptpress.com.cn/ [R,NC,L] 

如果是一些动态资源,则可以使用PHP检查Referer白名单的方式以防止盗链。 

  1. <?php  
  2. $whiteList=array("www.ptpress.com.cn","ptpress.com.cn");  
  3. $referer=$_SERVER['HTTP_REFERER']; 
  4. $parseResult=parse_url($referer); // 解析URL  
  5. $host=$parseResult['host']; // 获取referer中的域名  
  6. if(!in_array($host,$whiteList)); {  
  7. die('防止非法盗链');  

4、敏感词

每一个系统都应该保证接收和传输到用户端的内容是合法健康的,所以需要建立有效的过滤或安全限制机制。其中,涉及“政治”“毒品”“色情”“武器”“暴力”“恐怖”“广告”“业务违规”等内容的,一定要进行过滤并禁止传输或接收,以防止被攻击者和不法分子用于广告宣传、言论攻击等。

通常的做法是建立敏感词词库,当用户提交内容后,对内容进行分词处理,将分词后的数据与敏感词库中的数据一一对比。一旦命中,就禁止用户提交。

图7展示了系统在检测到敏感词,拒绝用户提交数据的过程。

图7  检测到敏感词

只有检测后的内容不包括敏感词,才允许对用户的内容进行保存。图8中展示了系统未检测到敏感词,用户可顺利提交数据的过程。

图8  未检测到敏感词 

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/137676.html<

(0)
管理的头像管理
上一篇2025-03-02 16:11
下一篇 2025-03-02 16:12

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注