<br><br><div><span class="gmail_quote">On 2/20/06, <b class="gmail_sendername">Joe Armstrong (AL/EAB)</b> <<a href="mailto:joe.armstrong@ericsson.com">joe.armstrong@ericsson.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><font color="#0000ff" face="Arial" size="2"><span>No -
javascript is executed on the client - never the server. Nothing you can do on
the client can damange the sever</span></font></div>
<div><font color="#0000ff" face="Arial" size="2"><span>*provided* the server code is safely
compiled.</span></font></div>
<div><font color="#0000ff" face="Arial" size="2"><span></span></font> </div>
<div><font color="#0000ff" face="Arial" size="2"><span>I
guess I omitted to say that in my "safe" mode of compilation *everything* is
compiled with a safety wrapper (ie including</span></font></div>
<div><font color="#0000ff" face="Arial" size="2"><span>BIFs)
- thus </span></font></div>
<div><font color="#0000ff" face="Arial" size="2"><span></span></font> </div>
<div><font color="#0000ff" face="Arial" size="2"><span> apply(M, F, A) is transformed to
safe:do(erlang, apply, [M,F,A])</span></font></div>
<div><font color="#0000ff" face="Arial" size="2"><span></span></font> </div>
<div><font color="#0000ff" face="Arial" size="2"><span>and</span></font></div>
<div><font color="#0000ff" face="Arial" size="2"><span> </span></font></div>
<div><font color="#0000ff" face="Arial" size="2"><span>
list_to_atom(X) to safe:do(erlang, list_to_atom, [X])</span></font></div>
<div><font color="#0000ff" face="Arial" size="2"><span> </span></font></div>
<div><font color="#0000ff" face="Arial" size="2"><span> Then safe:do/3 can be written with any
policy you like - to enable or disable more or less risky
operations</span></font></div>
<div><font color="#0000ff" face="Arial" size="2"><span></span></font> </div>
<div><font color="#0000ff" face="Arial" size="2"><span>/Joe</span></font></div>
<div><font color="#0000ff" face="Arial" size="2"><span></span></font> </div><font color="#0000ff" face="Arial" size="2"></font><br>
<blockquote style="border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; margin-left: 5px; margin-right: 0px;">
<div dir="ltr" align="left" lang="en-us">
<hr>
<font face="Tahoma" size="2"><b>From:</b> <a href="mailto:owner-erlang-questions@erlang.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">owner-erlang-questions@erlang.org</a>
[mailto:<a href="mailto:owner-erlang-questions@erlang.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">owner-erlang-questions@erlang.org</a>] <b>On Behalf Of </b>Alex
Arnon<br><b>Sent:</b> den 20 februari 2006 12:49<span class="q"><br><b>To:</b>
<a href="mailto:erlang-questions@erlang.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">erlang-questions@erlang.org</a><br><b>Subject:</b> Re: Jaws - coming soon -
testers and advice wanted<br></span></font><br></div>
<span class="q"><div></div>Could the Javascript apply(...) binding cause new atoms to be
created? In that case, wouldn't that constitute a security
hazard?<br><br></span></blockquote>
</blockquote></div>So this would enable me to define explicit "bindings" to server-side functionality - excellent!<br>
BTW, how can one check if a string represents an existing atom or not?<br>
<br>