다음은 참고용으로 오늘 오후에 PHP로 작성한 이미지 인증코드 생성 데모입니다.
이 데모는 총 4개의 파일로 나누어져 있으며, 구체적인 코드는 다음과 같습니다.
1. code.html의 코드:
<span style="color: #008080;"> 1</span> <span style="color: #0000ff;"><span style="color: #ff00ff;">doctype html</span><span style="color: #0000ff;">></span> <span style="color: #008080;"> 2</span> <span style="color: #0000ff;"><span style="color: #800000;">html </span><span style="color: #ff0000;">lang</span><span style="color: #0000ff;">="en"</span><span style="color: #0000ff;">></span> <span style="color: #008080;"> 3</span> <span style="color: #0000ff;"><span style="color: #800000;">head</span><span style="color: #0000ff;">></span> <span style="color: #008080;"> 4</span> <span style="color: #0000ff;"><span style="color: #800000;">meta </span><span style="color: #ff0000;">charset</span><span style="color: #0000ff;">="utf-8"</span> <span style="color: #0000ff;">/></span> <span style="color: #008080;"> 5</span> <span style="color: #0000ff;"><span style="color: #800000;">title</span><span style="color: #0000ff;">></span>登录、注册验证码生成<span style="color: #0000ff;"></span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span> <span style="color: #008080;"> 6</span> <span style="color: #0000ff;"></span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span> <span style="color: #008080;"> 7</span> <span style="color: #0000ff;"><span style="color: #800000;">body</span><span style="color: #0000ff;">></span> <span style="color: #008080;"> 8</span> <span style="color: #008000;"><!--</span> <span style="color: #008080;"> 9</span> <span style="color: #008000;"> * @Description 网站登录/注册验证码生成类 </span><span style="color: #008080;">10</span> <span style="color: #008000;"> * @Author 赵一鸣 </span><span style="color: #008080;">11</span> <span style="color: #008000;"> * @OnlineDemo http://www.zymseo.com/demo/verificationcode/code.html </span><span style="color: #008080;">12</span> <span style="color: #008000;"> * @Date 2016年10月6日 </span><span style="color: #008080;">13</span> <span style="color: #008000;">--></span> <span style="color: #008080;">14</span> <span style="color: #0000ff;"><span style="color: #800000;">form </span><span style="color: #ff0000;">action</span><span style="color: #0000ff;">="checkcode.php"</span><span style="color: #ff0000;"> method</span><span style="color: #0000ff;">="post"</span><span style="color: #0000ff;">></span> <span style="color: #008080;">15</span> <span style="color: #0000ff;"><span style="color: #800000;">input </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="code"</span> <span style="color: #0000ff;">/><span style="color: #800000;">br</span><span style="color: #0000ff;">/></span> <span style="color: #008080;">16</span> <span style="color: #0000ff;"><span style="color: #800000;">img </span><span style="color: #ff0000;">src</span><span style="color: #0000ff;">="showcode.php"</span><span style="color: #ff0000;"> onclick</span><span style="color: #0000ff;">="this.setAttribute('src','showcode.php?'+Math.random())"</span> <span style="color: #0000ff;">/></span> <span style="color: #008080;">17</span> <span style="color: #0000ff;"><span style="color: #800000;">span</span><span style="color: #0000ff;">></span>看不清?点击图片即可切换验证码<span style="color: #0000ff;"></span><span style="color: #800000;">span</span><span style="color: #0000ff;">><span style="color: #800000;">br</span><span style="color: #0000ff;">/></span> <span style="color: #008080;">18</span> <span style="color: #0000ff;"><span style="color: #800000;">input </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="submit"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="sub"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="登录/注册"</span> <span style="color: #0000ff;">/></span> <span style="color: #008080;">19</span> <span style="color: #0000ff;"></span><span style="color: #800000;">form</span><span style="color: #0000ff;">></span> <span style="color: #008080;">20</span> <span style="color: #0000ff;"></span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span> <span style="color: #008080;">21</span> <span style="color: #0000ff;"></span><span style="color: #800000;">html</span><span style="color: #0000ff;">></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
2. createcode.class.php의 코드:
<span style="color: #008080;"> 1</span> <span style="color: #000000;">php </span><span style="color: #008080;"> 2</span> <span style="color: #008000;">/*</span><span style="color: #008000;">* </span><span style="color: #008080;"> 3</span> <span style="color: #008000;"> * @Description 网站登录/注册验证码生成类 </span><span style="color: #008080;"> 4</span> <span style="color: #008000;"> * @Author 赵一鸣 </span><span style="color: #008080;"> 5</span> <span style="color: #008000;"> * @OnlineDemo http://www.zymseo.com/demo/verificationcode/code.html </span><span style="color: #008080;"> 6</span> <span style="color: #008000;"> * @Date 2016年10月6日 </span><span style="color: #008080;"> 7</span> <span style="color: #008000;">*/</span> <span style="color: #008080;"> 8</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> Createcode{ </span><span style="color: #008080;"> 9</span> <span style="color: #008000;">//</span><span style="color: #008000;">画布资源</span> <span style="color: #008080;">10</span> <span style="color: #0000ff;">public</span> <span style="color: #800080;">$img</span><span style="color: #000000;">; </span><span style="color: #008080;">11</span> <span style="color: #008000;">//</span><span style="color: #008000;">画布宽度</span> <span style="color: #008080;">12</span> <span style="color: #0000ff;">private</span> <span style="color: #800080;">$img_width</span><span style="color: #000000;">; </span><span style="color: #008080;">13</span> <span style="color: #008000;">//</span><span style="color: #008000;">画布高度</span> <span style="color: #008080;">14</span> <span style="color: #0000ff;">private</span> <span style="color: #800080;">$img_height</span><span style="color: #000000;">; </span><span style="color: #008080;">15</span> <span style="color: #008000;">//</span><span style="color: #008000;">画布颜色</span> <span style="color: #008080;">16</span> <span style="color: #0000ff;">private</span> <span style="color: #800080;">$img_bgcolor</span><span style="color: #000000;">; </span><span style="color: #008080;">17</span> <span style="color: #008000;">//</span><span style="color: #008000;">验证码文字内容</span> <span style="color: #008080;">18</span> <span style="color: #0000ff;">private</span> <span style="color: #800080;">$str_content</span><span style="color: #000000;">; </span><span style="color: #008080;">19</span> <span style="color: #008000;">//</span><span style="color: #008000;">生成的验证码内容</span> <span style="color: #008080;">20</span> <span style="color: #0000ff;">private</span> <span style="color: #800080;">$code_content</span><span style="color: #000000;">; </span><span style="color: #008080;">21</span> <span style="color: #008000;">//</span><span style="color: #008000;">验证码颜色</span> <span style="color: #008080;">22</span> <span style="color: #0000ff;">private</span> <span style="color: #800080;">$code_content_color</span><span style="color: #000000;">; </span><span style="color: #008080;">23</span> <span style="color: #008000;">//</span><span style="color: #008000;">构造函数</span> <span style="color: #008080;">24</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span> __construct(<span style="color: #800080;">$img_width</span>,<span style="color: #800080;">$img_height</span>,<span style="color: #800080;">$str_content</span>,<span style="color: #800080;">$code_content_color</span><span style="color: #000000;">){ </span><span style="color: #008080;">25</span> <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$this</span>-><span style="color: #000000;">gdcheck()){ </span><span style="color: #008080;">26</span> <span style="color: #800080;">$this</span>->img_width = <span style="color: #800080;">$img_width</span><span style="color: #000000;">; </span><span style="color: #008080;">27</span> <span style="color: #800080;">$this</span>->img_height = <span style="color: #800080;">$img_height</span><span style="color: #000000;">; </span><span style="color: #008080;">28</span> <span style="color: #800080;">$this</span>->str_content = <span style="color: #800080;">$str_content</span><span style="color: #000000;">; </span><span style="color: #008080;">29</span> <span style="color: #800080;">$this</span>->code_content_color = <span style="color: #800080;">$code_content_color</span><span style="color: #000000;">; </span><span style="color: #008080;">30</span> <span style="color: #800080;">$this</span>-><span style="color: #000000;">get_code(); </span><span style="color: #008080;">31</span> <span style="color: #800080;">$this</span>-><span style="color: #000000;">session_code(); </span><span style="color: #008080;">32</span> <span style="color: #000000;"> } </span><span style="color: #008080;">33</span> <span style="color: #000000;"> } </span><span style="color: #008080;">34</span> <span style="color: #008000;">//</span><span style="color: #008000;">生成画布</span> <span style="color: #008080;">35</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> get_img(){ </span><span style="color: #008080;">36</span> <span style="color: #008000;">//</span><span style="color: #008000;">定义画布</span> <span style="color: #008080;">37</span> <span style="color: #800080;">$this</span>->img = imagecreatetruecolor(<span style="color: #800080;">$this</span>->img_width, <span style="color: #800080;">$this</span>-><span style="color: #000000;">img_height); </span><span style="color: #008080;">38</span> <span style="color: #008000;">//</span><span style="color: #008000;">画布背景色</span> <span style="color: #008080;">39</span> <span style="color: #800080;">$this</span>->img_bgcolor = imagecolorallocate(<span style="color: #800080;">$this</span>->img, <span style="color: #008080;">mt_rand</span>(0,255), <span style="color: #008080;">mt_rand</span>(0,255), <span style="color: #008080;">mt_rand</span>(0,255<span style="color: #000000;">)); </span><span style="color: #008080;">40</span> <span style="color: #008000;">//</span><span style="color: #008000;">给画图填充背景色</span> <span style="color: #008080;">41</span> imagefill(<span style="color: #800080;">$this</span>->img, 0, 0, <span style="color: #800080;">$this</span>-><span style="color: #000000;">img_bgcolor); </span><span style="color: #008080;">42</span> <span style="color: #008000;">//</span><span style="color: #008000;">取得画布的宽高</span> <span style="color: #008080;">43</span> <span style="color: #800080;">$img_width</span> = imagesx(<span style="color: #800080;">$this</span>-><span style="color: #000000;">img); </span><span style="color: #008080;">44</span> <span style="color: #800080;">$img_height</span> = imagesy(<span style="color: #800080;">$this</span>-><span style="color: #000000;">img); </span><span style="color: #008080;">45</span> <span style="color: #008000;">//</span><span style="color: #008000;">画布中插入验证码</span> <span style="color: #008080;">46</span> imagestring(<span style="color: #800080;">$this</span>->img, 5, (<span style="color: #800080;">$this</span>->img_width/3), (<span style="color: #800080;">$this</span>->img_height/2.5), <span style="color: #800080;">$this</span>->code_content, imagecolorallocate(<span style="color: #800080;">$this</span>->img, <span style="color: #008080;">hexdec</span>(<span style="color: #008080;">substr</span>(<span style="color: #800080;">$this</span>->code_content_color, 1,2)), <span style="color: #008080;">hexdec</span>(<span style="color: #008080;">substr</span>(<span style="color: #800080;">$this</span>->code_content_color, 3,2)), <span style="color: #008080;">hexdec</span>(<span style="color: #008080;">substr</span>(<span style="color: #800080;">$this</span>->code_content_color, 5,2<span style="color: #000000;">)))); </span><span style="color: #008080;">47</span> <span style="color: #008000;">//</span><span style="color: #008000;">画布中插入像素点</span> <span style="color: #008080;">48</span> <span style="color: #800080;">$this</span>-><span style="color: #000000;">get_pix(); </span><span style="color: #008080;">49</span> <span style="color: #008000;">//</span><span style="color: #008000;">画布中插入直线</span> <span style="color: #008080;">50</span> <span style="color: #800080;">$this</span>-><span style="color: #000000;">get_line(); </span><span style="color: #008080;">51</span> <span style="color: #008000;">//</span><span style="color: #008000;">画布显示</span> <span style="color: #008080;">52</span> <span style="color: #008080;">header</span>('Content-type:image/png'<span style="color: #000000;">); </span><span style="color: #008080;">53</span> imagepng(<span style="color: #800080;">$this</span>-><span style="color: #000000;">img); </span><span style="color: #008080;">54</span> <span style="color: #000000;"> } </span><span style="color: #008080;">55</span> <span style="color: #008000;">//</span><span style="color: #008000;">生成验证码</span> <span style="color: #008080;">56</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> get_code(){ </span><span style="color: #008080;">57</span> <span style="color: #800080;">$str_content_len</span> = <span style="color: #008080;">strlen</span>(<span style="color: #800080;">$this</span>-><span style="color: #000000;">str_content); </span><span style="color: #008080;">58</span> <span style="color: #0000ff;">for</span>(<span style="color: #800080;">$i</span>=0;<span style="color: #800080;">$i</span>$i++<span style="color: #000000;">){ </span><span style="color: #008080;">59</span> <span style="color: #800080;">$this</span>->code_content .= <span style="color: #008080;">substr</span>(<span style="color: #800080;">$this</span>->str_content, <span style="color: #008080;">mt_rand</span>(0,<span style="color: #800080;">$str_content_len</span>-1),1<span style="color: #000000;">); </span><span style="color: #008080;">60</span> <span style="color: #000000;"> } </span><span style="color: #008080;">61</span> <span style="color: #000000;"> } </span><span style="color: #008080;">62</span> <span style="color: #008000;">//</span><span style="color: #008000;">生成像素点</span> <span style="color: #008080;">63</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> get_pix(){ </span><span style="color: #008080;">64</span> <span style="color: #0000ff;">for</span>(<span style="color: #800080;">$j</span>=0;<span style="color: #800080;">$j</span>$j++<span style="color: #000000;">){ </span><span style="color: #008080;">65</span> <span style="color: #800080;">$image_pix</span> .= imagesetpixel(<span style="color: #800080;">$this</span>->img, <span style="color: #008080;">mt_rand</span>(0,<span style="color: #800080;">$this</span>->img_width), <span style="color: #008080;">mt_rand</span>(0,<span style="color: #800080;">$this</span>->img_height), imagecolorallocate(<span style="color: #800080;">$this</span>->img, <span style="color: #008080;">mt_rand</span>(0,255), <span style="color: #008080;">mt_rand</span>(0,255), <span style="color: #008080;">mt_rand</span>(0,255<span style="color: #000000;">))); </span><span style="color: #008080;">66</span> <span style="color: #000000;"> } </span><span style="color: #008080;">67</span> <span style="color: #0000ff;">return</span> <span style="color: #800080;">$image_pix</span><span style="color: #000000;">; </span><span style="color: #008080;">68</span> <span style="color: #000000;"> } </span><span style="color: #008080;">69</span> <span style="color: #008000;">//</span><span style="color: #008000;">生成直线</span> <span style="color: #008080;">70</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> get_line(){ </span><span style="color: #008080;">71</span> <span style="color: #0000ff;">for</span>(<span style="color: #800080;">$l</span>=0;<span style="color: #800080;">$l</span>$l++<span style="color: #000000;">){ </span><span style="color: #008080;">72</span> <span style="color: #800080;">$img_line</span> .= imageline(<span style="color: #800080;">$this</span>->img, <span style="color: #008080;">mt_rand</span>(0,<span style="color: #800080;">$this</span>->img_width), <span style="color: #008080;">mt_rand</span>(0,<span style="color: #800080;">$this</span>->img_height), <span style="color: #008080;">mt_rand</span>(0,<span style="color: #800080;">$this</span>->img_width), <span style="color: #008080;">mt_rand</span>(0,<span style="color: #800080;">$this</span>->img_height), imagecolorallocate(<span style="color: #800080;">$this</span>->img, <span style="color: #008080;">mt_rand</span>(0,255), <span style="color: #008080;">mt_rand</span>(0,255), <span style="color: #008080;">mt_rand</span>(0,255<span style="color: #000000;">))); </span><span style="color: #008080;">73</span> <span style="color: #000000;"> } </span><span style="color: #008080;">74</span> <span style="color: #0000ff;">return</span> <span style="color: #800080;">$img_line</span><span style="color: #000000;">; </span><span style="color: #008080;">75</span> <span style="color: #000000;"> } </span><span style="color: #008080;">76</span> <span style="color: #008000;">//</span><span style="color: #008000;">session存储验证码</span> <span style="color: #008080;">77</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> session_code(){ </span><span style="color: #008080;">78</span> <span style="color: #008080;">session_start</span><span style="color: #000000;">(); </span><span style="color: #008080;">79</span> <span style="color: #800080;">$_SESSION</span>['code'] = <span style="color: #800080;">$this</span>-><span style="color: #000000;">code_content; </span><span style="color: #008080;">80</span> <span style="color: #000000;"> } </span><span style="color: #008080;">81</span> <span style="color: #008000;">//</span><span style="color: #008000;">判断程序是否支持GD库</span> <span style="color: #008080;">82</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> gdcheck(){ </span><span style="color: #008080;">83</span> <span style="color: #0000ff;">if</span>(<span style="color: #008080;">extension_loaded</span>('gd'<span style="color: #000000;">)){ </span><span style="color: #008080;">84</span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #000000;">; </span><span style="color: #008080;">85</span> }<span style="color: #0000ff;">else</span><span style="color: #000000;">{ </span><span style="color: #008080;">86</span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #000000;">; </span><span style="color: #008080;">87</span> <span style="color: #0000ff;">exit</span><span style="color: #000000;">(); </span><span style="color: #008080;">88</span> <span style="color: #000000;"> } </span><span style="color: #008080;">89</span> <span style="color: #000000;"> } </span><span style="color: #008080;">90</span> }
3. checkcode.php의 코드:
<span style="color: #000000;">php </span><span style="color: #008000;">/*</span><span style="color: #008000;">* * @Description 网站登录/注册验证码生成类 * @Author 赵一鸣 * @OnlineDemo http://www.zymseo.com/demo/verificationcode/code.html * @Date 2016年10月6日 </span><span style="color: #008000;">*/</span> <span style="color: #008080;">header</span>('Content-type:text/html;charset="utf-8"'<span style="color: #000000;">); </span><span style="color: #008080;">session_start</span><span style="color: #000000;">(); </span><span style="color: #0000ff;">if</span>(<span style="color: #800080;">$_POST</span>['code']!=''<span style="color: #000000;">){ </span><span style="color: #0000ff;">if</span>(<span style="color: #800080;">$_SESSION</span>['code']==<span style="color: #800080;">$_POST</span>['code'<span style="color: #000000;">]){ </span><span style="color: #0000ff;">echo</span> '<span style="color: #000000;"><script type="text/javascript"> alert("验证码填写成功"); history.go(-1); </script></span>'<span style="color: #000000;">; }</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{ </span><span style="color: #0000ff;">echo</span> '<span style="color: #000000;"><script type="text/javascript"> alert("验证码填写失败"); history.go(-1); </script></span>'<span style="color: #000000;">; } }</span>
4. showcode.php의 코드:
<span style="color: #008080;"> 1</span> <span style="color: #000000;">php </span><span style="color: #008080;"> 2</span> <span style="color: #008000;">/*</span><span style="color: #008000;">* </span><span style="color: #008080;"> 3</span> <span style="color: #008000;"> * @Description 网站登录/注册验证码生成类 </span><span style="color: #008080;"> 4</span> <span style="color: #008000;"> * @Author 赵一鸣 </span><span style="color: #008080;"> 5</span> <span style="color: #008000;"> * @OnlineDemo http://www.zymseo.com/demo/verificationcode/code.html </span><span style="color: #008080;"> 6</span> <span style="color: #008000;"> * @Date 2016年10月6日 </span><span style="color: #008080;"> 7</span> <span style="color: #008000;">*/</span> <span style="color: #008080;"> 8</span> <span style="color: #0000ff;">function</span> __autoload(<span style="color: #800080;">$classname</span><span style="color: #000000;">){ </span><span style="color: #008080;"> 9</span> <span style="color: #0000ff;">include</span> <span style="color: #008080;">strtolower</span>(<span style="color: #800080;">$classname</span>).'.class.php'<span style="color: #000000;">; </span><span style="color: #008080;">10</span> <span style="color: #000000;"> } </span><span style="color: #008080;">11</span> <span style="color: #008000;">//</span><span style="color: #008000;">定义验证码的取值范围</span> <span style="color: #008080;">12</span> <span style="color: #800080;">$str_content</span> = 'abcdefghijklmnopqrstuvwxyz0123456789'<span style="color: #000000;">; </span><span style="color: #008080;">13</span> <span style="color: #008000;">//</span><span style="color: #008000;">验证码文字颜色</span> <span style="color: #008080;">14</span> <span style="color: #800080;">$code_content_color</span> = '#ffffff'<span style="color: #000000;">; </span><span style="color: #008080;">15</span> <span style="color: #008000;">//</span><span style="color: #008000;">初始化对象</span> <span style="color: #008080;">16</span> <span style="color: #800080;">$code</span> = <span style="color: #0000ff;">new</span> Createcode(100,30,<span style="color: #800080;">$str_content</span>,<span style="color: #800080;">$code_content_color</span><span style="color: #000000;">); </span><span style="color: #008080;">17</span> <span style="color: #800080;">$code</span>->get_img();
원본 주소: http://www.zymseo.com/php/334.html
재인쇄시 출처를 꼭 밝혀주세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.
