You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Sean Busbey (JIRA)" <ji...@apache.org> on 2017/02/21 16:09:44 UTC

[jira] [Commented] (ACCUMULO-4590) Use JSON.parse instead of eval on client side javascript

    [ https://issues.apache.org/jira/browse/ACCUMULO-4590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15876205#comment-15876205 ] 

Sean Busbey commented on ACCUMULO-4590:
---------------------------------------

browser coverage for switching to JSON.parse:

* http://caniuse.com/#search=JSON.parse
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON

Looks good enough to just use it directly rather than install one of the third party fall-back mechanisms.

> Use JSON.parse instead of eval on client side javascript
> --------------------------------------------------------
>
>                 Key: ACCUMULO-4590
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-4590
>             Project: Accumulo
>          Issue Type: Bug
>          Components: monitor
>    Affects Versions: 1.6.6, 1.7.2, 1.8.0, 2.0.0
>            Reporter: Sean Busbey
>              Labels: security
>
> Right now we rely on "eval" to decode json results in the monitor display:
> [vis.js|
> https://github.com/apache/accumulo/blob/master/server/monitor/src/main/resources/web/vis.js#L85]
> {code}
> function handleNewData() {
>   if (xmlhttp.readyState!=4) {
>     return;
>   }
>   if (xmlhttp.status!=200 || xmlhttp.responseText==null) {
>     xmlReturned = true;
>     return;
>   }
>   var newstats = eval('(' + xmlhttp.responseText + ')');
> {code}
> We should instead use JSON.parse



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)