|
1 | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | | -<!-- EN-Revision: cc1fd3979ee4c308ca9c086583c4d0e45549d3fe Maintainer: leonardolara Status: ready --> |
| 2 | +<!-- EN-Revision: 9c40251a81d8f369c184e83fd142c4cc656a7261 Maintainer: leonardolara Status: ready --> |
3 | 3 | <chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="reference.luasandbox.differences"> |
4 | 4 | <title>Diferenças do Lua Padrão</title> |
5 | 5 |
|
6 | | - <para> |
| 6 | + <simpara> |
7 | 7 | O LuaSandbox fornece um ambiente isolado (caixa de areia) que difere em alguns aspectos do Lua 5.1 padrão. |
8 | | - </para> |
| 8 | + </simpara> |
9 | 9 |
|
10 | 10 | <simplesect xml:id="reference.luasandbox.differences.unavailable"> |
11 | 11 | <title>Recursos que não estão disponíveis</title> |
12 | 12 | <itemizedlist> |
13 | 13 | <listitem> |
14 | | - <para> |
| 14 | + <simpara> |
15 | 15 | <literal>dofile()</literal>, <literal>loadfile()</literal> e o pacote <literal>io</literal>, pois eles permitem acesso direto ao sistema de arquivos. Se necessário, o acesso ao sistema de arquivos deve ser feito por meio de funções de retorno PHP. |
16 | | - </para> |
| 16 | + </simpara> |
17 | 17 | </listitem> |
18 | 18 | <listitem> |
19 | | - <para> |
| 19 | + <simpara> |
20 | 20 | O pacote <literal>package</literal>, incluindo <literal>require()</literal> e <literal>module()</literal>, pois depende muito do acesso direto ao sistema de arquivos. Uma reescrita Lua pura, como a usada na extensão MediaWiki Scribunto, pode ser usada em vez disso. |
21 | | - </para> |
| 21 | + </simpara> |
22 | 22 | </listitem> |
23 | 23 | <listitem> |
24 | | - <para> |
| 24 | + <simpara> |
25 | 25 | <literal>load()</literal> e <literal>loadstring()</literal>, para permitir análise estática do código Lua. |
26 | | - </para> |
| 26 | + </simpara> |
27 | 27 | </listitem> |
28 | 28 | <listitem> |
29 | | - <para> |
| 29 | + <simpara> |
30 | 30 | <literal>print()</literal>, já que ele envia para a saída padrão. Se necessário, a saída deve ser feita via funções de retorno PHP. |
31 | | - </para> |
| 31 | + </simpara> |
32 | 32 | </listitem> |
33 | 33 | <listitem> |
34 | | - <para> |
| 34 | + <simpara> |
35 | 35 | A maior parte do pacote <literal>os</literal>, pois permite a manipulação do processo e a execução de outros processos. |
36 | | - </para> |
| 36 | + </simpara> |
37 | 37 | <itemizedlist> |
38 | 38 | <listitem> |
39 | | - <para> |
| 39 | + <simpara> |
40 | 40 | <literal>os.clock()</literal>, <literal>os.date()</literal>, <literal>os.difftime()</literal> e <literal>os.time()</literal> permanecem disponíveis. |
41 | | - </para> |
| 41 | + </simpara> |
42 | 42 | </listitem> |
43 | 43 | </itemizedlist> |
44 | 44 | </listitem> |
45 | 45 | <listitem> |
46 | | - <para> |
| 46 | + <simpara> |
47 | 47 | A maior parte do pacote <literal>debug</literal>, pois permite a manipulação do estado Lua e metadados de maneiras que podem quebrar o isolamento. |
48 | | - </para> |
| 48 | + </simpara> |
49 | 49 | <itemizedlist> |
50 | 50 | <listitem> |
51 | | - <para> |
| 51 | + <simpara> |
52 | 52 | <literal>debug.traceback()</literal> permanece disponível. |
53 | | - </para> |
| 53 | + </simpara> |
54 | 54 | </listitem> |
55 | 55 | </itemizedlist> |
56 | 56 | </listitem> |
57 | 57 | <listitem> |
58 | | - <para> |
| 58 | + <simpara> |
59 | 59 | <literal>string.dump()</literal>, pois pode expor dados internos. |
60 | | - </para> |
| 60 | + </simpara> |
61 | 61 | </listitem> |
62 | 62 | <listitem> |
63 | | - <para> |
| 63 | + <simpara> |
64 | 64 | <literal>collectgarbage()</literal>, <literal>gcinfo()</literal> e o pacote <literal>coroutine</literal> não foram revisados quanto à segurança. |
65 | | - </para> |
| 65 | + </simpara> |
66 | 66 | </listitem> |
67 | 67 | </itemizedlist> |
68 | 68 | </simplesect> |
|
71 | 71 | <title>Recursos que foram modificados</title> |
72 | 72 | <itemizedlist> |
73 | 73 | <listitem> |
74 | | - <para> |
| 74 | + <simpara> |
75 | 75 | <literal>pcall()</literal> e <literal>xpcall()</literal> não conseguem capturar certos erros, particularmente erros de tempo limite. |
76 | | - </para> |
| 76 | + </simpara> |
77 | 77 | </listitem> |
78 | 78 | <listitem> |
79 | | - <para> |
| 79 | + <simpara> |
80 | 80 | <literal>tostring()</literal> não inclui endereços de ponteiros. |
81 | | - </para> |
| 81 | + </simpara> |
82 | 82 | </listitem> |
83 | 83 | <listitem> |
84 | | - <para> |
| 84 | + <simpara> |
85 | 85 | <literal>string.match()</literal> foi corrigido para limitar a profundidade da recursão e verificar periodicamente se há um tempo limite. |
86 | | - </para> |
| 86 | + </simpara> |
87 | 87 | </listitem> |
88 | 88 | <listitem> |
89 | | - <para> |
| 89 | + <simpara> |
90 | 90 | <literal>math.random()</literal> e <literal>math.randomseed()</literal> foram substituídos por versões que não compartilham estado com <literal>rand()</literal> do PHP. |
91 | | - </para> |
| 91 | + </simpara> |
92 | 92 | </listitem> |
93 | 93 | <listitem> |
94 | | - <para> |
| 94 | + <simpara> |
95 | 95 | Os metamétodos <literal>__pairs</literal> e <literal>__ipairs</literal> do Lua 5.2 são suportados por <literal>pairs()</literal> e <literal>ipairs()</literal>. |
96 | | - </para> |
| 96 | + </simpara> |
97 | 97 | </listitem> |
98 | 98 | </itemizedlist> |
99 | 99 | </simplesect> |
|
0 commit comments