问题标签 [input-sanitization]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
doctrine-orm - 在使用 setter 方法填充 Doctrine 实体时,我必须清理我的输入吗?
我的印象是 ORM 使用了某种卫生技术,但我不确定。我查看了http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/security.html并不清楚这个问题。
问题
使用是否安全
以前没有对 POST 进行清理,或者我必须始终先清理/验证我的值,然后再将它们发送到 Doctrine?
以供参考
php - 我使用哪个 PHP 函数来清理从数据库中读取的浮点值(filter_var、floatval、其他)?
PHP 有几种方法来清理浮点变量。
首选哪种方式,为什么?
在我的特定情况下,我正在从数据库中读取值,这些值被假定为正确的浮点数,但在某些情况下,我得到一个 null 或一个空字符串。我通常不期望垃圾或恶意输入,而是更喜欢获得正确清理的值,或某种错误/通知。换句话说,“精确值或错误”,但不是给我一个错误转换值的过滤器。
php - PHP:什么可能导致 FILTER_UNSAFE_RAW 返回 FALSE?
从久违的剧本回到剧本后,我陷入了一次突然失败的清理工作。
我在过滤器意外返回中发现了问题false
。
这是一个复制我的意外结果的示例:
我认为这FILTER_UNSAFE_RAW
应该只是返回输入(在这种情况下是一个数组)不变。
我的理解/方法错了吗?
注意:
我的代码必须严格自力更生并且尽可能轻量级,因此我只是在需要的地方编写简单的辅助函数,而不是加载第 3 方库/类。
例子:
如您所见,这种方法需要bar
通过清理,即使不需要清理操作。
我误会了FILTER_UNSAFE_RAW
吗?
c# - 清理文本输入以在 HTML 页面上显示
为我们的网站建立了一个聊天程序。该程序的一部分确实允许网页评论区用于讨论该页面。
所以有一个文本输入,所以文本被输入并重新显示在页面上。
显然,这是有潜在风险的。
因此,为了使文本字符串输入安全地重新显示在网页上,我可以只禁止<
和>
字符及其编码的 xml 和十六进制等效项吗?
如果没有脚本标签,是否有任何其他潜在的攻击向量可以嵌入到文本字符串中?
php - Find all occurrences of list of strings in array inside a sentence, and replace everything except the first letter with dashes
I need to find all occurrences of a array of strings (original $list has over 780 items) in a sentence, and replace everything except the first letter with html dashes.
This is my current code:
This is the current result:
hello, i think you are not intelligent, you are actually – and –</p>
The result should be:
hello, i think you are not intelligent, you are actually d––– and s–––––</p>
Any ideas on how to approach this? Thanks!
php - 这个 php 代码清理是多余的还是不正确的?
假设这段代码是在按下提交按钮后执行的,目的是为了清理:
考虑到正在应用 filter_input 函数,在这种情况下 check_input($data) 函数是多余的吗?
c# - 使用循环向 SQL 查询添加不同的参数
因此,我试图在 c# 中的表单上使用条件语句和复选框来有条件地构建 MySQL SQL 查询。我没有看到很多关于它的主题,所以要么我做错了什么(很可能),要么我错过了一些简单的东西。无论哪种方式,我都碰壁了,需要一些帮助。
这是场景:我正在尝试在 C# 中为我的 MySQL 数据库创建一个搜索表单,并且取决于用户选择的选项取决于搜索的粒度。
所以基本上它看起来像这样:
在下面的每一点,它都会经过这样的检查:
最后将它们全部计数并开始添加:
但是,我收到未定义的变量错误(例如“必须定义字段 1”)。现在有一些快速说明以进行澄清。
• 引发错误的地方是在循环中添加的第一个变量中。
• 我刚刚发表评论的所有区域都已清理,但当再次使用时,我会重复评论名称。
• 如果我不应该使用这种方法,我愿意接受其他方法。
编辑: • 我试图传递的第一个参数是一个字符串,选择日期时间区域的片段是为了简单地展示我的方法。
任何帮助表示赞赏,显然试图清理我的输入,但我不确定我做错了什么。
php - PHP文件上传中未记录的清理
在处理文件上传时,根据PHP 官方文档,文件名应该针对目录遍历和可能的其他类型的攻击进行清理:
尽管如此,我发现默认情况下,文件名在到达 PHP 脚本时已经过清理。
我有证据表明 Apache 收到了恶意文件名:filename="../file.png",而 PHP 脚本改为在 $_FILES 变量中读取经过清理的名称。
Apache 输入的低级转储:
PHP 脚本
我在 Apache 模块和 php-fpm 中都发现了这种行为,运行 PHP 从 5.5 到 7.2,我必须推断 PHP 解释器在将变量传递给脚本之前执行了这种清理。
所以,感谢 PHP 在我不知情和同意的情况下为我做卫生。但是(这是我的问题),因为据我所知,这个功能是无证的,我想知道清理标准/正则表达式/算法,以确保它满足我的需求。
url - URL不能以字符结尾?
Web 浏览器 URL (http/https)不能以哪些字符(如果有)结尾?
据我所知,不使用控制字符,例如
\0
零。\t
标签。\n
新队。- 空间(从测试看来这是被剥离的)。
是否有此类字符的完整列表?
android - android中的输入参数清理以避免漏洞
最近,虽然我的 android 应用程序审计员的源代码审计提出了一些问题,例如路径操纵、隐私侵犯攻击?
自最近几天以来,我一直在寻找合适的解决方案,但找不到任何富有成效的解决方案。请为我提供以下查询的解决方案。
如何防止攻击者操纵文件路径?
如何验证参数以使攻击者无法更改此参数?输入消毒 ? 如何应用它?
编辑1:
错误处理机密信息的方法可能会损害用户隐私并且通常是非法selectDataFromDB()
的。MyActivity.java