r - 在 Windows 中通过 R 中的程序访问文件时如何消除安全问题?
问题描述
在 R 程序的帮助下从磁盘访问 CSV 文件时,配置文件中提供了 CSV 文件的路径(路径类似于“testData/Amazon S3/Inventory/Accounts.csv”,在配置文件和cfig[2]$save.location是具有从配置文件访问的此路径的值的变量)。下面几行代码
path <- cfig[2]$save.location
test_data <- fread(path,stringsAsFactors = FALSE,drop=col_ignor,blank.lines.skip = TRUE)
但它给出了以下信息:
将 input= 作为系统命令 ('testData/Amazon S3/Inventory/Accounts.csv') 并在传递给的表达式中使用了一个变量
input=
。请使用 fread(cmd=...)。如果您正在创建应用程序并且该应用程序可能有恶意用户并且该应用程序未在安全环境中运行,则存在安全问题;例如,应用程序以 root 身份运行。请阅读 v1.11.6 的 NEWS 文件中的第 5 项以获取更多信息以及禁止显示此消息的选项。
' testData' 不是内部或外部命令、可运行程序或批处理文件。 警告消息:
1:在(if (.Platform$OS.type == "unix") system else shell)(paste0("(", :
'(testData/Amazon S3/Inventory/Accounts.csv) > C:\Users\sharmb5\AppData\Local\Temp\RtmpOa25kH\filea78b5351f1' 执行失败,错误代码为 1.
2: In fread(cfig[2]$save. location, stringsAsFactors = FALSE, drop = col_ignor, : File 'C:\Users\sharmb5\AppData\Local\Temp\RtmpOa25kH\filea78b5351f1' 的大小为 0。返回 NULL data.table。
当以下代码行执行时,
config[4]$save.location <- stri_replace_all(config[4]$save.location, cp_val, fixed = cp_key)
它给出了一个错误,例如,Error in [<-.data.table(*tmp*, j, value = list(TestCaseID = "C419760", : Supplied 14 columns to be assigned 15 items. Please see NEWS for v1.12.2.
上述错误是一个警告,但在手动更新包之后。此警告会变成错误。这个问题背后的原因是什么以及如何解决?感谢提前!!!
解决方案
推荐阅读
- asp.net - 使用 ajax 将表单数据和文件传递给控制器方法
- autodesk-forge - 在forge查看器中使用api获取(dbis,externalid)元素属性
- mysql - 内部联接查询在 JPA 自定义查询中不起作用
- azure - 如何比较 Azure 数据工厂中的 2 个 JSON 文件
- github-actions - 使用客户端有效负载正确请求以在 github 操作中运行 workflow_dispatch
- flutter - Flutter - AnimatedSwitcher 不流畅
- scala - 如何规范联合类型(T | Option[T])?
- spring-boot - Spring MVC 重定向从 localhost 重写为 Host-Header 中的值
- reactjs - Jest SyntaxError:不能在模块外使用 import 语句
- python - 使用 Python 仅提取大写字符串