终极清洁/安全功能

2023-12-14

我有很多用户输入$_GET and $_POST......此刻我总是写mysql_real_escape_string($_GET['var'])..

我想知道你是否可以制作一个功能来保护、转义和清理$_GET/$_POST立即数组,因此您不必每次处理用户输入等时都处理它。

我正在考虑一个功能,例如cleanMe($input),在它里面,它应该做mysql_real_escape_string, htmlspecialchars, strip_tags, stripslashes(我认为这就是让它干净和安全的全部)然后返回$input.

那么这可能吗?制作一个适用于所有人的功能$_GET and $_POST,所以你只会这样做:

$_GET  = cleanMe($_GET);
$_POST = cleanMe($_POST);

因此,稍后在您的代码中,当您使用例如$_GET['blabla'] or $_POST['haha'],它们被固定、剥离等等?

自己尝试了一下:

function cleanMe($input) {
   $input = mysql_real_escape_string($input);
   $input = htmlspecialchars($input, ENT_IGNORE, 'utf-8');
   $input = strip_tags($input);
   $input = stripslashes($input);
   return $input;
}

通用卫生功能的想法是一个破碎的概念。

one适合各种目的的正确卫生方法。在字符串上不加区别地运行它们通常会破坏它——转义 SQL 查询的一段 HTML 代码会破坏它在网页中的使用,反之亦然。应注意卫生就在之前使用数据:

  • 在运行数据库查询之前。正确的卫生方法取决于您使用的图书馆;他们被列在如何防止 PHP 中的 SQL 注入?

  • htmlspecialchars()用于安全的 HTML 输出

  • preg_quote()用于正则表达式

  • escapeshellarg() / escapeshellcmd()用于外部命令

  • 等等等等

使用“一刀切”的卫生功能就像对一株植物使用五种剧毒杀虫剂,而根据定义,该植物只能含有一种虫子 - 却发现你的植物被第六种虫子侵扰,而其中没有一种虫子。杀虫剂的作用。

始终使用一种正确的方法,最好是在将数据传递给函数之前直接使用。Never除非需要,否则混合方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

终极清洁/安全功能 的相关文章

  • WooCommerce - 谢谢和“我的帐户”查看订单页面上的自定义通知

    在 WooCommerce 上我有一个自定义字段days manufacture对于具有不同 整数 值的每个产品 我还有这个代码 可以在购物车页面上显示一条消息 其中的最高值是 生产天数 add action woocommerce bef
  • PHP 读取 XML 播客 RSS 源

    好的 我正在为朋友的播客网站创建一个页面 列出他的播客的所有剧集 本质上 我所寻找的只是如何阅读 RSS 提要 解析出节点 并将信息显示在屏幕上 最终 我将创建一个可以播放剧集的播放器 但那是很久以后的事了 这就是我阅读 RSS 源的方式
  • PHP:switch 与 if [重复]

    这个问题在这里已经有答案了 哪种形式更有效率 这个 switch var case 1 break case 2 break 或者这个 if var 1 elseif var 2 在性能方面 性能方面完全无关 As PHPBench htt
  • 如何在 PHP 中去除字符串中的所有空格? [复制]

    这个问题在这里已经有答案了 我怎么能够strip remove all spaces of a string in PHP 我有一个string like string this is my string 输出应该是 thisismystr
  • 使用 PHP 将 HTML 片段包裹在 div 中(并从 HTML 标签生成目录)

    我原来的 HTML 看起来像这样 h1 Page Title h1 h2 Title of segment one h2 img src img jpg alt An image of segment one p Paragraph one
  • 如何使用WAMP登录phpMyAdmin,用户名和密码是什么?

    根 这个词是什么意思php我的管理员 http en wikipedia org wiki PhpMyAdmin 每当我写作时localhost phpmyadmin在地址栏上 我被要求输入用户名和密码 但我不知道它们是什么 我不记得何时何
  • 发送蓝色附件

    我尝试发送附件 pdf 文件 我收到电子邮件但没有附件 我尝试过使用https github com sendinblue APIv3 php library blob master docs Model SendSmtpEmail mde
  • 干预/图像上传错误{{图像源不可读}}

    我正在尝试添加个人资料图片上传拉拉维尔 5 1 我用的是Intervention Image打包但当我尝试上传图像时出现此错误 AbstractDecoder php 第 302 行中的 NotReadableException 图像源不可
  • SESSION 中存储的数组后面出现数字

    我正在对存储在会话变量上的数组执行 print r 由于某种未知的原因 它在数组打印后添加了一个数字 Example Array 0 gt 868 userid gt 868 1 如果我直接在函数本身中执行 print r 并且在变量存储在
  • Laravel 规则和正则表达式 (OR) 运算符的问题

    我的 Laravel 规则和正则表达式操作有一个小问题 基本上 规则是一个数组 如下所示 room gt required alpha num min 2 max 10 我遇到的问题是使用正则表达式和 时 或 运算符 例如 cid gt r
  • 使用 AJAX 来回发送信息

    使用 post 你可以向服务器发送信息 但是当你需要从服务器接收信息时怎么办呢 信息如何从可以由 php 变量保存的方式变为可以由 javascript 变量保存的方式 反之亦然 这与您的问题更相关 http docs jquery com
  • 使 IPTC 数据可搜索

    我对 IPTC 元数据有疑问 是否可以通过 IPTC 元数据 关键字 搜索不在数据库中的图像并显示它们 我将如何执行此操作 我只需要一个基本的想法 我知道 PHP 有 iptcparse 函数 我已经编写了一个函数来获取画廊文件夹和所有子目
  • Symfony - 自定义验证器和依赖注入

    我正在尝试对自定义验证器使用依赖项注入 以便能够使用实体管理器 我遵循 Symfony 示例 依赖注入 http symfony com doc current cookbook validation custom constraint h
  • 交响乐 2 |修改具有文件(图片)字段的对象时出现表单异常

    我正在使用 Symfony2 我有一个实体Post有标题和图片字段 我的问题 当我创建帖子时一切都很好 我有我的图片等 但是当我想修改它时 我遇到了 图片 字段的问题 它是一个上传的文件 Symfony 想要一个文件类型并且它有一个字符串
  • 创建验证电子邮件的机制

    我的网站上已经有一个高级用户登录 注册系统 colemansystems psm2 co uk http colemansystems psm2 co uk 但是 我希望向新用户发送一封电子邮件以验证他们的电子邮件地址 如果他们没有点击该链
  • PDO 从 Postgres 获取小数秒

    当我查询日期时间字段时postgresql 9 6 用一个简单的 pdo 语句 PHP7 sql SELECT date FROM table stmt adapter gt createStatement sql stmt gt prep
  • Symfony2 / FOSUserBundle - 登录后根据角色重定向

    我想根据用户的角色自定义登录后的重定向 仅供参考 我用symfony 2 8 我创建这个类
  • 逻辑编程帮助

    A if infos 空和inputs empty 删除 B if infos空和inputs 空的 添加 C if infos 空和inputs 等于信息 添加 我们可以有这样的 if B it s the most common ope
  • PHP - While/Else 错误? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有以下
  • 在 url 中传递百分号 (%) 并使用 php 获取其准确值

    我正在尝试在 url 中传递百分号 例如 B6011000995504101 SB 但当我回声时 它又回来了 011000995504101 SB 我想要与在 URL 中传递的值完全相同的值 我尝试使用 urlencode 函数 但它给了我

随机推荐

  • OpenCV 3.0 中缺少 Nonfree 模块

    我从源代码构建了 openCV 3 0 alpha 版本 支持 CUDA 和 TBB 现在 我想使用SURF算法进行特征检测和特征匹配 SurfFeatureDetector 存在于包含文件中 opencv2 nonfree feature
  • 从子窗口重新加载父窗口

    如何使用 jQuery 重新加载子窗口的父窗口 在这种情况下不需要 jQuery window opener location reload false https developer mozilla org en US docs Web
  • 即使我使用“core.sharedrepository=group”,我仍然会时不时地被拒绝

    git config get core sharedrepository group stat c a git FETCH HEAD 644 权限显然是错误的 它需要是 664 才能使其组共享 update 我已经完成了额外的步骤 其中的所
  • 如何调整 Highcharts 轴标签中的行高/省略号

    有没有办法调整 Highcharts 中轴标签的行高 有时 对于断行标签 可能会出现重叠 间距问题 如果可以降低行高 则可以缓解这些问题 正如您在下图中较长的红色标签中看到的 自定义行高会很有帮助 有没有办法做到这一点 环境line hei
  • 在 set、vector 与 vector 之间进行选择以用作位图(位集/位数组)

    给定一系列索引 标识符 我想将每个索引映射到一个布尔值 即 interface pseudocode interface bitmap bool identifier is set unsigned int id idx const voi
  • 如何查看Oracle数据库允许的最大连接数?

    使用 SQL 检查 Oracle 数据库允许的最大连接数的最佳方法是什么 最后 我想显示当前的会话数和允许的总数 例如 目前 80 个连接中有 23 个已使用 在确定 Oracle 数据库支持的连接数时 可能会遇到一些不同的限制 最简单的方
  • Django 和 docker:将信息输出到控制台

    我正在使用 Django 它在 Docker 容器中运行 在我看来 发生了一些我无法理解的事情 有一些for语句和条件语句 我想看看到底哪里出了问题 对我来说 最简单的方法是可以将一些变量输出到控制台 这在 Django 中可能吗 就像是
  • 如何在 Salesforce 中以编程方式作废 DocuSign 信封?

    我正在使用 DocuSign For Salesforce 应用程序 作为工作流程的一部分 我们在满足某些条件时创建信封 但如果不再满足条件 我需要能够通过 Apex 触发器使信封无效 DocuSign 应用程序的文档详细介绍了如何创建信封
  • 串行块不适用于 simulink 编码器

    我使用从串行端口接收一些数据信号Serial Receive块 当然还有串行配置块 我用它来移动视频中的标记 它在模拟期间工作 但是当我使用生成 exe 文件时Simulink Coder执行期间标记不会移动 看起来它没有从串行接收数据 E
  • javascript 中的文件路径验证

    我正在尝试在 JavaScript 中验证 XML 文件路径 我的正则表达式是 var isValid a zA Z 2 a zA Z0 9 s 2 xml test str 即使路径错误 它也会返回 true 这些是有效路径 D test
  • Xamarin 表单中的渐变按钮

    如何使用 Renderer 在 Xamarin Forms 中创建具有渐变效果的按钮 现在 Xamarin Forms 4 8 可以提供渐变画笔和拖放功能等新功能 查看此链接 gt https learn microsoft com en
  • 使用 PHP ftp_get() 检索带有通配符文件名的文件

    我在 FTP 上有一个具有动态文件名的文件 该架构看起来像 ABCD 2 EFGH YYMMDD YYMMDD randomnumber TXT 日期 YYMMDD 反映前一天和当天以及randomnumbervalue 是文件中记录的计数
  • Vim - 如果文件包含特定字符串,则阻止保存/写入文件

    我想阻止 Vim 保存包含以下文本的文件 style gt 这可能位于文件中的多个位置 如果它能提出诸如 停止将样式内联 之类的错误消息 那就太好了 那也很棒 Thanks PS 我希望在尝试写入文件时触发此阻止操作 w One way 做
  • 如何为适合不同类别的标记显示不同的图标?

    我正在尝试制作一个谷歌地图 它允许用户勾选一个类别并显示这些特定位置 我已经让那部分工作了 http thedenvillehub com test hs adv scripts test html 我想做的是为每个类别提供不同的图标 一个
  • IO6 不调用 -(BOOL)shouldAutorotate

    我的应用程序中有一些我不想支持方向的视图 在didFinishLaunchingWithOptions我添加导航 UINavigationController nav UINavigationController alloc initWit
  • Keras 和错误:使用序列设置数组元素

    我在神经网络中输入多个数据源时遇到问题 我的数据框是 0 1 2 3 4 0 True True False 3 1 False True True 1 输入与前 4 列相关 输出与最后一列相关 当我训练我的神经网络时 我得到Setting
  • 如何自定义 LESS 生成的 CSS 以包含 Font Awesome?

    我要定制引导程序的CSS通过分层字体真棒作为替代品Bootstrap 默认字形 如何自定义 LESS 生成的 CSS 以包含 Font Awesome 并且在更新核心 Bootstrap 文件时不会中断 Note Font Awesome
  • 连接到我的程序时出现奇怪的行为

    我正在使用 Twisted 来实现某种服务器 当我测试它时 它收到的第一行总是很奇怪 Starting Server New connection from 192 168 1 140 192 168 1 140 NAME Blurr 19
  • 在 SQL Server 中,如何通过链接服务器连接查询 Oracle Timestamp 列?

    我在 oracle 中进行的查询不适用于带有 sql server 2008 的链接服务器 为链接服务器 ORACLE 提供的 OLE DB 提供程序 MSDAORA 列 DATETIME INS 的元数据无效 数据类型不是 支持的 查询
  • 终极清洁/安全功能

    我有很多用户输入 GET and POST 此刻我总是写mysql real escape string GET var 我想知道你是否可以制作一个功能来保护 转义和清理 GET POST立即数组 因此您不必每次处理用户输入等时都处理它 我