Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

bug fix by sunner at hit

  • Loading branch information...
commit 162bbb06efd7b4079ea2d57c14663f9cac6f0bfd 1 parent 9acb281
authored June 16, 2005
9  lang/zh_cn_utf8/docs/coding.html
@@ -176,9 +176,9 @@
176 176
   <li class="spaced">不要使用<code>optional_variable()</code>函数。使用<code>optional_param()</code>函数来替代。根据数据类型选择正确的PARAM_XXXX值。使用<code>set_default()</code>函数检查和设置变量的可选值。</li>
177 177
   <li class="spaced">不要使用<code>require_variable()</code>函数。使用<code>required_param()</code>来替代。根据数据类型选择正确的PARAM_XXXX值。</li>
178 178
   <li class="spaced">不要使用<code>$_GET</code>、<code>$_POST</code>或<code>$_REQUEST</code>。根据您的需要使用更合适的<code>required_param()</code>或<code>optional_param()</code></li>
179  
-  <li class="spaced">检查一个动作时,不要使用像<code>if (isset($_GET['something']))</code>这样的代码。可以使用诸如:<code>$something = optional_param( 'something','',PARAM_ALPHA )</code>,并且用<code>empty()</code>函数测试</li>
  179
+  <li class="spaced">检查一个动作时,不要使用像<code>if (isset($_GET['something']))</code>这样的代码。可以使用诸如:<code>$something = optional_param( 'something','',PARAM_ALPHA )</code>,并且用<code>empty()</code>函数或(如果'empty'也是一个合法值)<code>isset_param()</code>函数测试</li>
180 180
   <li class="spaced">在任何可能的情况下,把您所有的<code>required_param()</code>、<code>optional_param()</code>和其它的变量初始化一起放在每个文件的开头,这样它们会更容易被找到。</li>
181  
-  <li class="spaced">使用“sesskey”机制保护表单处理函数不被攻击。当生成表单的时候,要包含<code>&lt;input type="hidden" name="sesskey" value="&lt;?php echo sesskey(); ?&gt" /&gt;</code>。使用表单时用<code>if (!confirm_sesskey()) {error('Bad Session Key');}</code>检查。</li> 
  181
+  <li class="spaced">使用“sesskey”机制保护表单处理函数不被攻击。简单示例:当生成表单的时候,要包含<code>&lt;input type="hidden" name="sesskey" value="&lt;?php echo sesskey(); ?&gt" /&gt;</code>。使用表单时用<code>if (!confirm_sesskey()) {error('Bad Session Key');}</code>检查。</li> 
182 182
   <li class="spaced">所有文件名必须用<code>clean_filename()</code>函数“过滤”,但如果已经适当地使用<code>required_param()</code>或<code>optional_param()做了此项工作,则不必如此</code>
183 183
     </li>
184 184
   <li class="spaced">再把任何从数据库读出的数据写回之前,必须先用<code>addslashes()</code>处理。一个完整数据对象可以用<code>addslashes_object()</code>一次性完全处理完毕。</li>
@@ -186,9 +186,10 @@
186 186
   <li class="spaced">如果能避免的话,不要使用来自<code>$_SERVER</code>的数据。它会给移植性带来问题</li>
187 187
   <li class="spaced">在其它地方没有做的情况下,确保所有写入数据库的数据已经被<code>clean_param</code> 函数处理,并且针对数据类型,使用了恰当的PARAM_XXXX。</li>
188 188
   <li class="spaced">如果您编写了自定义的SQL代码,请确保它是正确的。尤其小心在数值周围不要丢失引号,这可能会带来SQL“注入”漏洞。</li>
189  
-  <li class="spaced">在<strong>每一</strong>页检查所有的数据(尤其是写到数据库的数据)。不要期盼或依赖其它地方已经检查了。</li>
  189
+  <li class="spaced"><strong>每个</strong>文件内都要检查它使用的所有数据(尤其是写到数据库的数据)的合法性。不要期盼或依赖其它地方已经检查了。</li>
  190
+  <li class="spaced">被其它文件包含的代码块应当有确切定义的PHP结构(例如类的声明、函数定义等)——直接执行的代码块建议使用变量时不要初始化。</li>
190 191
 </ol>
191 192
 <p align="CENTER"><font size="1"><a href="." target="_top">Moodle文档</a></font></p>
192 193
 <p align="center"><font size="1">Version: $Id$</font></p>
193 194
 </body>
194  
-</html>
  195
+</html>
1  lang/zh_cn_utf8/docs/features.html
@@ -110,7 +110,6 @@ <h3 >测验模块</h3>
110 110
     <li>题目和答案可以乱序(随机)显示,减少作弊</li>
111 111
     <li>题目可以包含HTML和图片</li>
112 112
     <li>题目可以从外部文本文件倒入</li>
113  
-    <li>Quizzes can be attempted multiple times, if desired</li>
114 113
     <li>如果愿意,可以分多次完成试答,每次的结果被自动累积。</li>
115 114
     <li>选择题支持一个或多个答案</li>
116 115
     <li>填空题(词或短语)</li>

0 notes on commit 162bbb0

Please sign in to comment.
Something went wrong with that request. Please try again.