【php安全过滤函数代码_PHP】教程文章相关的互联网学习教程文章

PHP安全-永久登录

永久登录 永久登录指的是在浏览器会话间进行持续验证的机制。换句话说,今天已登录的用户明天依然是处于登录状态,即使在多次访问之间的用户会话过期的情况下也是这样。 永久登录的存在降低了你的验证机制的安全性,但它增加了可用性。不是在用户每次访问时麻烦用户进行身份验证,而是提供了记住登录的选择。 图7-2. 攻击者通过重播用户的cookie进行未授权访问 据我观察,最常见的有缺陷的永久登录方案是将用户名和密码保存在一...

PHP安全-重播攻击

重播攻击 重播攻击,有时称为演示攻击,即攻击者重现以前合法用户向服务器所发送的数据以获取访问权或其它分配给该用户的权限。 与密码嗅探一样,防止重播攻击也需要你意识到数据的暴露。为防止重播攻击,你需要加大攻击者获取任何用于取得受限资源的访问权限的数据的难度。这主要要求做到避免以下做法: 设定受保护资源永久访问权的数据的使用;设定受保护资源访问权的数据的暴露(甚至是只提供临时访问权的数据); 这样,你...

PHP安全-密码嗅探

密码嗅探 尽管攻击者通过嗅探(察看)你的用户和应用间的网络通信并不专门用于访问控制,但要意识到数据暴露变得越来越重要,特别是对于验证信息。 使用SSL可以有效地防止HTTP请求和回应不被暴露。对任何使用https方案的资源的请求可以防止密码嗅探。最好的方法是一直使用SSL来发送验证信息,同时你可能还想用SSL来传送所有的包含会话标识的请求以防止会话劫持。 为防止用户验证信息不致暴露,在表单的action属性的URL中使用http...

PHP安全-暴力攻击

暴力攻击 暴力攻击是一种不使用任何特殊手段而去穷尽各种可能性的攻击方式。它的更正式的叫法是穷举攻击——穷举各种可能性的攻击。 对于访问控制,典型的暴力攻击表现为攻击者通过大量的尝试去试图登录系统。在多数情况下,用户名是已知的,而只需要猜测密码。 尽管暴力攻击没有技巧性可言,但词典攻击似乎有一定的技巧性。最大的区别是在进行猜测时的智能化。词典攻击只会最可能的情况列表中进行穷举,而不像暴力攻击一样去穷...

PHP安全-命令注入

命令注入 使用系统命令是一项危险的操作,尤其在你试图使用远程数据来构造要执行的命令时更是如此。如果使用了被污染数据,命令注入漏洞就产生了。 Exec()是用于执行shell命令的函数。它返回执行并返回命令输出的最后一行,但你可以指定一个数组作为第二个参数,这样输出的每一行都会作为一个元素存入数组。使用方式如下: <?php$last = exec(ls, $output, $return);print_r($output);echo "Return [$return]";?> 假设ls命令...

PHP安全-安全模式

安全模式 PHP的safe_mode选项的目的是为了解决本章所述的某些问题。但是,在PHP层面上去解决这类问题从架构上来看是不正确的,正如PHP手册所述(http://www.gxlcms.com/)。 当安全模式生效时,PHP会对正在执行的脚本所读取(或所操作)文件的属主进行检查,以保证与该脚本的属主是相同的。虽然这样确实可以防范本章中的很多例子,但它不会影响其它语言编写的程序。例如,使用Bash写的CGI脚本: #!/bin/bashecho "Content-Type: ...

PHP安全-文件系统浏览

文件系统浏览 除了能在共享服务器上读取任意文件之外,攻击者还能建立一个可以浏览文件系统的脚本。由于你的大多数敏感文件不会保存在网站主目录下,此类脚本一般用于找到你的源文件的所在位置。请看下例: <pre><?phpif (isset($_GET[dir])){ls($_GET[dir]);}elseif (isset($_GET[file])){cat($_GET[file]);}else{ls(/);}function cat($file){echo htmlentities(file_get_contents($file), ENT_QUOTES, UTF-8));}function ls($d...

PHP安全-会话注入

会话注入 一个与会话暴露类似的问题是会话注入。此类攻击是基于你的WEB服务器除了对会话存储目录有读取权限外,还有写入权限。因此,存在着编写一段允许其他用户添加,编辑或删除会话的脚本的可能。下例显示了一个允许用户方便地编辑已存在的会话数据的HTML表单: <?phpsession_start();?><form action="inject.php" method="POST"><?php$path = ini_get(session.save_path);$handle = dir($path);while ($filename = $handle->re...

PHP安全-加密

加密 作为一本相关安全方面的书,通常加密是需要提及的话题。我之所以在本书的主体部分忽略了加密问题,是因为它的用途是狭窄的,而开发者应从大处着眼来考虑安全问题。过分依赖于加密常常会混淆问题的根源。尽管加密本身是有效的,但是进行加密并不会神奇地提高一个应用的安全性。 一个PHP开发人员应主要熟悉以下的加密方式: l 对称加密l 非对称加密(公钥)l Hash函数(信息摘要)l 信息验证码 ...

PHP安全-函数

函数 在我写作本书的时候,http://www.gxlcms.com/列出了共3917个函数,其中包括一些类似函数的语法结构,在此我不准备把它们从函数中区分开来,而是把它作为函数看待。 由于函数数量很大,一一说明它们的正确及安全用法是不太可能的。在此我选出了我认为最需要注意的函数。选择的标准包括使用的频繁度、使用时的危险(安全)度及我本人的经验。 对于每一个列出的函数,我都会提供推荐的使用方法。在提出这些方法时,我会把安全...

PHP安全-配置选项【图】

配置选项 尽管本书的焦点是在于应用的安全性,但有一些配置选项是任何关心安全的开发者必需熟悉的。PHP的配置会影响你所写代码的行为以及你使用的技巧,必要时你需要稍稍负责一下应用程序以外的东西。 PHP的配置主要由一个名为php.ini的文件所指定。该文件包含很多配置选项,每一项都会对PHP产生非常特定的影响。如果该文件不存在,或者该文件中的某选项不存在,则会使用默认值。 如果你不知道php.ini文件所在的位置,你可以使用...

浅谈PHP安全防护之Web攻击

常见的Web攻击分为两类:一是利用Web服务器的漏洞进行攻击,如CGI缓冲区溢出,目录遍历漏洞利用等攻击;二是利用网页自身的安全漏洞进行攻击,如SQL注入,跨站脚本攻击等。下面这篇文章主要介绍了PHP安全防护之Web攻击,需要的朋友可以参考,下面来一起看看吧。SQL注入攻击(SQL Injection)攻击者把SQL命令插入到Web表单的输入域或页面请求的字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响...

推荐Linux管理员不可不知十大PHP安全要点

PHP是使用最广泛的脚本编程语言之一。市场份额颇能说明其主导地位。PHP 7已推出,这个事实让这种编程语言对当前的开发人员来说更具吸引力。尽管出现了一些变化,但是许多开发人员对PHP的未来持怀疑态度。一个原因是PHP的安全。 Linux管理员不可不知十大PHP安全要点 PHP是使用最广泛的脚本编程语言之一。市场份额颇能说明其主导地位。PHP 7已推出,这个事实让这种编程语言对当前的开发人员来说更具吸引力。尽管出现了一些变化,但是...

8个值得关注的php安全函数

在现代互联网中,我们经常要 从世界各地的用户中获得输入数据。但是,我们都知道“永远不能相信那些用户输入的数据”。所以在各种的Web开发语言中,都会提供保证用户输入数据安全的函数。在PHP中,有些非常有用并且方便的函数,它们可以帮助你的网站防止出现像SQL注入攻击,XSS攻击等问题。当然在PHP代码编写中IDE(如:PhpStorm 、Zend Studio )会有函数的高亮显示,来确保开发人员的使用,也有人使用代码混淆工具来保护这些函数...

php安全简介和总则

简介PHP 作为一种强大的语言,无论是以模块还是 CGI 的方式安装,它的解释器都可以在服务器上访问文件、运行命令以及创建网络连接等。这些功能也许会给服务器添加很多不安全因素,但是只要正确地安装和配置 PHP,以及编写安全的代码,那么 PHP 相对于 Perl 和 C 来说,是能创建出更安全的 CGI 程序的。而且,也可以在可用性和安全性之间找到一个很好的平衡点。PHP 可能会被用在很多不同的方面,因此,PHP 内置的选项以方便用户对其...