php中常用的几个安全函数

这篇具有很好参考价值的文章主要介绍了php中常用的几个安全函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. mysql_real_escape_string()

       这个函数对于在PHP中防止SQL注入攻击很有帮助,它对特殊的字符,像单引号和双引号,加上了“反斜杠”,确保用户的输入在用它去查询以前已经是安全的了。但你要注意你是在连接着数据库的情况下使用这个函数。

       但现在mysql_real_escape_string()这个函数基本不用了,所有新的应用开发都应该使用像PDO这样的库对数据库进行操作,也就是说,我们可以使用现成的语句防止SQL注入攻击。

2. addslashes()

       这个函数和上面的mysql_real_escape_string()很相似。但要注意当设置文件php.ini中的magic_quotes_gpc的值为“on”时,不要使用这个函数。默认情况下, magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。你可以通过PHP中get_magic_quotes_gpc()函数检查这个变量的值。

3. htmlentities()

       这个函数对过滤用户输入数据非常有用,它可以把字符转换为 HTML 实体。比如,当用户输入字符“<”时,就会被该函数转化为HTML实体<,因此防止了XSS和SQL注入攻击。

4. htmlspecialchars()

       HTML中的一些字符有着特殊的含义,如果要体现这样的含义,就要被转换为HTML实体,这个函数会返回转换后的字符串,比如,‘&’amp会转为‘&’。

5. strip_tags()

       这个函数可以去除字符串中所有的HTML,JavaScript和PHP标签,当然你也可以通过设置该函数的第二个参数,让一些特定的标签出现。

6. md5()

       一些开发者存储的密码非常简单,这从安全的角度上看是不好的,md5()函数可以产生给定字符串的32个字符的md5散列,而且这个过程不可逆,即你不能从md5()的结果得到原始字符串。  7. sha1()

       这个函数和上面的md5()相似,但是它使用了不同的算法,产生的是40个字符的SHA-1散列(md5产生的是32个字符的散列)。

8. intval()

       不要笑,我知道这不是一个和安全相关的函数,它是在将变量转成整数类型。但是,你可以用这个函数让你的PHP代码更安全,特别是当你在解析id,年龄这样的数据时。

9.eval()

该函数把字符串当做php代码来计算,并且字符串必须是合法的php代码,要以分号结尾。

10.shell_exec ()

通过shell 环境执行命令,并且将完整的输出以字符串的方式返回。值得一提的是,这个函数跟执行操作符(反引号``)具有等同效力。

11.proc_open()

proc_open() 是一个 PHP 函数,用于在 PHP 中执行外部程序。它允许你通过一个管道与执行的程序进行通信,并获取程序的输出。

12.ini_set()

ini_set() 是 PHP 中的一个函数,用于在运行时设置配置选项的值。这些配置选项通常是在 PHP 的配置文件 php.ini 中设置的,但使用 ini_set() 可以在脚本执行期间动态地更改这些设置。

php中常用的几个安全函数,php开发,php,开发语言文章来源地址https://www.toymoban.com/news/detail-782975.html

到了这里,关于php中常用的几个安全函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 求数组长度的几个函数

    纯纯小白,有错请指出,谢谢。 1、sizeof函数 对于一个给定数组,如:int arr[]={1,2,3,4,5} , 可以利用 sizeof(arr)/sizeof(arr[0]) 的方式来求字符串长度 , 需要注意的是,sizeof 计算出的字符串长度包括了本身隐含的‘\\0’;对于一个自定义输入的数组,如:int arr[10] , 同样的方法并不能

    2024年02月16日
    浏览(45)
  • Ansible操作MySQL常用的几个模块

    mysql_user模块用来添加,删除用户以及设置用户权限 创建MySQL数据库的用户与口令(非root@localhost用户),直接通过playbooks中的案例来说明吧。 说明,这个案例中,有提到常见的错误,例如有关login_unix_socket参数不设置,可能导致的错误。 补充:假如各个DB的期望赋予的权限不

    2024年02月06日
    浏览(36)
  • Hive数据清洗中常见的几个函数

    在Hive中,数据清洗是一个重要的任务之一,通常涉及到对数据进行过滤、修改和转换等操作,以使其更易于使用和分析。常用的数据清洗技术包括:数据去重、空值填充、数据格式化、数据类型转换、数据分区等。这里简单记录几个常用的数据清洗函数,后期会继续增加。

    2024年02月06日
    浏览(53)
  • 提升网络安全防御能力的几个方面

    提升网络安全防御能力对于个人和组织来说都至关重要。网络安全是一个全面的概念,包括保护个人信息、防止恶意攻击和确保网络资源的安全。在这篇文章中,我将介绍几个方面来提高网络安全防御能力其中包括IP地址查询。 首先, IP地址查询 是一种网络安全工具可以帮助

    2024年02月09日
    浏览(43)
  • 金鸣识别将无表格线的图片转为excel的几个常用方案

    我们知道,金鸣识别要将横竖线齐全的表格图片转为excel非常简单,但要是表格线不齐全甚至没有表格线的图片呢?这就没那么容易了,在识别这类图片时,我们一般会使用以下的一种或多种方法进行处理: 1. 基于布局分析:金鸣识别系统可以通过分析文本在图像中的相对位

    2024年02月14日
    浏览(45)
  • 【java】日常开发中提升技术的几个建议

    日常开发中,都是在做业务需求,如何提升自己的技术呢? 所以,本文作者整理了提升技术的13个建议,小伙伴们,一起加油。 比如,对于Java程序员来说,要了解Java语言的基本概念和核心特性,包括面向对象编程、集合框架、异常处理、多线程等等。可以通过阅读Java的官方

    2024年02月05日
    浏览(48)
  • LLM探索:GPT类模型的几个常用参数 Top-k, Top-p, Temperature

    上一篇文章介绍了几个开源LLM的环境搭建和本地部署,在使用ChatGPT接口或者自己本地部署的LLM大模型的时候,经常会遇到这几个参数,本文简单介绍一下~ temperature top_p top_k 上一篇也有介绍过,这次看到一个不错的图 A recent breakthrough in artificial intelligence (AI) is the introduction

    2024年02月06日
    浏览(46)
  • 【进阶篇】Java 实际开发中积累的几个小技巧(二)

    目录 前言 六、自定义注解 6.1定义注解 6.2切面实现 6.3业务使用 七、抽象类和接口 7.1隔离业务层与 ORM 层 7.2隔离子系统的业务实现 7.3选择对比 文章小结 笔者目前从事一线 Java 开发今年是第 3 个年头了,从 0-1 的 SaaS、PaaS 的项目做过,基于多租户的标准化开发项目也做过,项

    2024年04月16日
    浏览(44)
  • Java GUI开发的几个小工具:apk/aab签名,验证签名,aab转apk

    平时经常给apk/aab签名,验证签名,aab转apk等操作,每次输入命令行十分繁琐。于是利用JAVA GUI简单开发了几个jar包界面化工具,提供给大家一起使用。 工具 功能 JarSignerTool.jar 为apk/aab签名 ApkSignerTool.jar 为apk签名 AppSignVerifyTool.jar 验证apk/aab的签名 CheckSignFileTool.jar 查看签名文件

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包