我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

煤油和菜籽油哪个热值大_甲胎蛋白iu和ng哪个数值大_php intval 最大值

php intval 最大值_甲胎蛋白iu和ng哪个数值大_煤油和菜籽油哪个热值大

PHP 给予开发者极大的灵活性,但也带来了安全问题的潜在风险,最近需要对之前的问题进行总结,这里翻译一篇文章,并加入一些自己的开发经验进行总结。

在开发互联网服务时,你必须时刻牢记安全性,并将其体现在你开发的代码中。PHP 脚本语言并不关心安全问题,尤其是对于大多数没有经验的开发人员来说。每当你谈到任何涉及金钱等交易的事情时,都要特别注意安全问题,比如开发一个论坛或购物车。

一般安全提示

不要相信表格

对于一般的前端验证,由于无法得知用户的行为,比如关闭浏览器引擎,恶意数据可以POST到服务器,需要在服务器端进行验证,对每个PHP脚本传递的数据进行验证,防止XSS攻击和SQL注入

不要相信用户

假设您的网站收到的每条数据都包含恶意代码和隐藏的威胁,并清理每条数据。

关闭全局变量

在php.ini文件中进行以下配置:

= 关闭

如果开启这个配置选项,会存在很大的安全风险,比如有一个.php脚本文件,会把接收到的数据插入到数据库中,接收用户输入数据的表单可能如下:

这样,当数据提交到.php时,php会注册一个$变量,并将这个变量数据提交到.php,同时,对于任何POST或者GET请求参数都会设置这样的变量,如果没有显式地初始化,就会出现以下问题:

这里假设该函数的作用是判断$的值,如果开启该配置,那么任何用户都可以发送请求将$的值设置为任意值,以绕过此验证。

这些提交的数据都要通过PHP预定义的内置全局数组来获取,包括$_POST、$_GET、$、$、$等,其中$是$_GET/$_POST/$三个数组的联合变量,默认顺序为$、$_POST、$_GET。

推荐的安全配置选项

设置为 Off:不向用户显示错误消息。您可以在开发过程中将其设置为 ON。

设置为关闭

设置为关闭

禁用以下功能:,exec,,,popen

将其设置为 /tmp,以便信息具有存储权限,并设置单独的网站

根目录

设置为关闭

设置为关闭

设置为关闭

SQL 注入攻击

对于操作数据库的SQL语句,要特别注意安全性,因为用户可能会输入特定的语句,改变原有SQL语句的功能。类似下面的例子:

$sql = " * 来自 pinfo 其中 = '$'";

此时如果用户输入的$参数是:

39'; DROP pinfo; 'FOO

那么最终的SQL语句就变成如下:

来自 pinfo where = '39'; DROP pinfo; 'FOO'

这样就会产生三条SQL语句,导致pinfo表被删除,后果很严重。

使用 PHP 的内置函数可以轻松解决这个问题:

$sql = ' * 来自 pinfo 其中 = '"'

戒指($).'"';

为了防止SQL注入攻击,你需要做两件事:

始终对输入参数执行类型验证

特殊字符(例如单引号、双引号、反引号等)始终使用 ring 函数进行转义

但是根据开发经验,请不要启用 PHP Magic。该功能在 PHP6 中已被废除,需要时请始终退出。

防止基本 XSS 攻击

XSS攻击与其他攻击不同,这种攻击是在客户端进行的,最基本的XSS手段就是在用户即将提交的表单页面上,阻止某个脚本窃取用户提交的数据。

XSS 工具比 SQL 注入更难防护,各大公司网站都曾遭受过 XSS 攻击,虽然这种攻击和 PHP 语言无关,但是 PHP 可以用来过滤用户数据,保护用户数据,这里主要目的是对数据进行过滤,一般是过滤掉 HTML 标签,特别是 a 标签,下面是常见的过滤方法:

($, $ = 空) {

// 帮助 XSS

// 死空间。

$ = 修剪($);

// 编解码器。

$ = ($);

// HTML- .

$ = ($, );

$ = ("#", "#", $);

$ = ("%", "%",$);

$ = ($);

如果 ($ > 0) {

$ = ($,0,$);

$;

此函数将 HTML 特殊字符转换为 HTML 实体,浏览器在渲染此文本时将其显示为纯文本。例如,粗体将显示为:

上述函数的核心就是函数,将HTML特殊标签转换成HTML实体字符,可以过滤大部分的XSS攻击。

不过,经验丰富的XSS攻击者还有更巧妙的攻击方式:将他们的恶意代码用十六进制或utf-8格式进行编码,而不是普通的ASCII文本。例如,可以使用下面的方法:

65%74%68%69%6e%67%6d%61%6c%69%63%69%6f%75%73%3c%2f%53%43%52%49%50%54%3e">

浏览器渲染的结果其实是:

这样就达到了攻击的目的,为了防止这种情况,需要根据函数将#和%转换成对应的实体符号,并增加$参数限制提交数据的最大长度。

用于防止XSS攻击

上述针对XSS攻击的防护很简单,但是并没有涵盖所有用户的标签,绕过过滤功能提交代码的方法有上百种,没有办法完全杜绝这种情况。

目前还没有哪个脚本可以保证不被攻击,但总有相对完善的防护措施。安全防护有两种方式:白名单和黑名单。白名单比较简单有效。

白名单解决方案应该足够智能,能够识别有效的 HTML,然后删除任何危险标签。这需要对每个包进行解析。

安装方法:

1. 前往下载最新的

2. 将文件放入服务器的目录中,其中包含所有库

3. 将类文件包含在你自己的脚本中

4. 创建对象

5.使用parse方法进行过滤

二维码
扫一扫在手机端查看

本文链接:https://by928.com/4958.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线