[R-es] funciones en R potencialmente peligrosas via web?

Carlos J. Gil Bellosta cgb en datanalytics.com
Jue Sep 16 15:09:49 CEST 2010


Por ejemplo, get().

mi.alias.para.funcion.prohibida <- get( "funcion.prohibida")
mi.alias.para.funcion.prohibida( producir, catastrofes, en, servidor )

¡Qué peligro tendría ese servidor...!

En cualquier caso, creo que permitir correr scripts irrestrictos en un
servidor a cualquiera es un servicio, aparte de peligroso,
relativamente inútil cuando se trata de R: ¡todo el mundo se lo puede
instalar gratuitamente!

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com


2010/9/16 Xavier de Pedro <xavier.depedro en ub.edu>:
> Hola:
>
> Para el desarrollo del nuevo PluginR de Tiki (para poder ejecutar scripts de
> R desde Tiki: en páginas Wiki, hojas de cálculo web, etc,
> http://dev.tiki.org/PluginR ), por ahora estamos usando la lista de
> funciones que se usaban en el proyecto r-php, y que fueran heredadas por la
> extensión R de MediaWiki.
>
> Como r-php se hizo hace algunos años (2006), me pregunto si alguien sabe si
> hay alguna funcion nueva que sea "potencialmente peligrosa" en los paquetes
> básicos de R de versiones recientes (2.10.x, por ejemplo), y los de XML (que
> usamos para procesar datos de un proyecto de investigación concreto donde ya
> estamos usando el PluginR).
>
> La lista actual de funciones "baneadas" por omisión en los scripts de R de
> los usuarios de la web es:
> (procesado de script bloqueado hasta que un admnistrador no valide que la
> llamada a ese comando en una página concreta es segura)
>
>    $banned = array('.C', '.Call', '.Call.graphics', '.External',
> '.External.graphics',
>            '.Fortran', '.readRDS', '.saveRDS', '.Script', '.Tcl',
>            '.Tcl.args', '.Tcl.callback', '.Tk.ID', '.Tk.newwin',
> '.Tk.subwin',
>            '.Tkroot', '.Tkwin', 'basename', 'browseURL', 'bzfile',
>            'capture.output', 'close', 'close.screen', 'closeAllConnection',
> 'data.entry',
>            'data.restore', 'dataentry', 'de', 'dev.control', 'dev.copy2eps',
>            'dev.cur', 'dev.list', 'dev.next', 'dev.prev', 'dev.print',
>            'dev.set', 'dev2bitmap', 'dget', 'dir', 'dir.create',
>            'dirname', 'do.call', 'download.file', 'dput', 'dump',
>            'dyn.load', 'edit', 'edit.data.frame', 'emacs', 'erase.screen',
>            'example', 'fifo', 'file', 'file.access', 'file.append',
>            'file.choose', 'file.copy', 'file.create', 'file.exists',
> 'file.info',
>            'file.path', 'file.remove', 'file.rename', 'file.show',
> 'file.symlink',
>            'fix', 'getConnection', 'getwd', 'graphics.off', 'gzcon',
>            'gzfile', 'INSTALL', 'install.packages', 'library.dynam',
>            'list.files','loadhistory', 'locator', 'lookup.xport',
> 'make.packages.html',
>            'make.socket', 'menu', 'open', 'parent.frame', 'path.expand',
>            'pico', 'pictex', 'pipe',
>            'postscript', 'print.socket', 'prompt', 'promptData', 'quartz',
>            'R.home', 'R.version', 'read.00Index', 'read.dta',
> 'read.epiinfo',
>            'read.fwf', 'read.mtp', 'read.socket', 'read.spss', 'read.ssd',
>            'read.xport', 'readBin', 'readline', 'readLines',
> 'remove.packages',
>            'Rprof', 'save', 'savehistory', 'scan', 'screen',
>            'seek', 'setwd', 'showConnection', 'sink', 'sink.number',
>            'socketConnection', 'source', 'split.screen', 'stderr', 'stdin',
>            'stdout', 'sys.call', 'sys.calls', 'sys.frame', 'sys.frames',
>            'sys.function', 'Sys.getenv', 'Sys.getlocale', 'Sys.info',
> 'sys.nframe',
>            'sys.on.exit', 'sys.parent', 'sys.parents', 'Sys.putenv',
> 'Sys.sleep',
>            'Sys.source', 'sys.source', 'sys.status', 'Sys.time', 'system',
>            'system.file', 'tempfile', 'textConnection', 'tkpager',
> 'tkStartGUI',
>            'unlink', 'unz', 'update.packages', 'url', 'url.show',
>            'vi', 'write', 'write.dta', 'write.ftable', 'write.socket',
>            'write.table', 'writeBin', 'writeLines', 'x11',
>            'xedit', 'xemacs', 'xfig', 'zip.file.extract',
>            'readdataSK',
>            'png', 'jpeg',
>            'call', 'eval' );
>
> Tenéis idea si se debería incluir alguna más?
>
> Xavi
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



Más información sobre la lista de distribución R-help-es