1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
|
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1.2 $ -->
<reference id="ref.crack">
<title>クラック関数(Crack)</title>
<titleabbrev>クラック関数(Crack)</titleabbrev>
<partintro>
<simpara>
以下の関数によりパスワードの強度を試すためのCrackLibライブラリを使
用可能となります。これらの関数を使用するには、<option
role="configure">--with-crack</option>オプションを用いてCrackサポー
トを指定してPHPをコンパイルする必要があります。
</simpara>
<simpara>
CrackLibに関するより詳細な情報は、
<ulink url="&url.crack;">&url.crack;</ulink>にあります。
</simpara>
<simpara>
Cracklibは、パスワードの強度を確認する際に有用で、パスワードの長さ
を確認し、大文字と小文字が使用されているか、指定したCrackLib辞書に
対する確認を行います。CrackLibは、パスワードを強化する際に有用な解
析情報も出力します。
</simpara>
<para>
以下の例は、CrackLib辞書をオープンする方法を示しており、指定したパ
スワードを試験し、解析メッセージを取得し、辞書を閉じます。
<example>
<title>CrackLibの例</title>
<programlisting role="php">
<![CDATA[
<?php
// CrackLib辞書をオープンする
$dictionary = crack_opendict('/usr/local/lib/pw_dict')
or die('Unable to open CrackLib dictionary');
// パスワードチェックを行う
$check = crack_check($dictionary, 'gx9A2s0x');
// メッセージを取得する
$diag = crack_getlastmessage();
echo $diag; // 'strong password'
// 辞書を閉じる
crack_closedict($dictionary);
?>
]]>
</programlisting>
</example>
</para>
<note>
<para>
<function>crack_check</function>は、&true;を返し、
<function>crack_getlastmessage</function>は 'strong password'を返
します。
</para>
</note>
</partintro>
<refentry id="function.crack-opendict">
<refnamediv>
<refname>crack_opendict</refname>
<refpurpose>新規CrackLib辞書をオープンする</refpurpose>
</refnamediv>
<refsect1>
<title>説明</title>
<methodsynopsis>
<type>resource</type><methodname>crack_opendict</methodname>
<methodparam><type>string</type><parameter>dictionary</parameter></methodparam>
</methodsynopsis>
<para>
成功時に辞書のリソースIDを返し、失敗時に&false;を返します。
</para>
&warn.experimental.func;
<para>
<function>crack_opendict</function>は、
<function>crack_check</function>で使用するために、指定したCrackLib
<parameter>dictionary</parameter>をオープンします。
</para>
<note>
<para>
1度にオープンできる辞書は1つだけです。
</para>
</note>
<para>
<function>crack_check</function>及び
<function>crack_closedict</function>も参照下さい。
</para>
</refsect1>
</refentry>
<refentry id="function.crack-closedict">
<refnamediv>
<refname>crack_closedict</refname>
<refpurpose>オープンされているCrackLib辞書を閉じる</refpurpose>
</refnamediv>
<refsect1>
<title>辞書</title>
<methodsynopsis>
<type>bool</type><methodname>crack_closedict</methodname>
<methodparam choice="opt"><type>resource</type><parameter>dictionary</parameter></methodparam>
</methodsynopsis>
<para>
&return.success;
</para>
&warn.experimental.func;
<para>
<function>crack_closedict</function>は、指定した
<parameter>dictionary</parameter>IDを閉じます。
<parameter>dictionary</parameter>が指定されない場合、カレントの辞
書がクローズされます。
</para>
</refsect1>
</refentry>
<refentry id="function.crack-check">
<refnamediv>
<refname>crack_check</refname>
<refpurpose>指定したパスワードに関して強度チェックを行う</refpurpose>
</refnamediv>
<refsect1>
<title>辞書</title>
<methodsynopsis>
<type>bool</type><methodname>crack_check</methodname>
<methodparam choice="opt"><type>resource</type><parameter>dictionary</parameter></methodparam>
<methodparam><type>string</type><parameter>password</parameter></methodparam>
</methodsynopsis>
<para>
<parameter>password</parameter>が強いパスワードの場合に&true;、そ
の他の場合に、&false;を返します。
</para>
&warn.experimental.func;
<para>
<function>crack_check</function>は、指定した
<parameter>password</parameter>に関して指定した
<parameter>dictionary</parameter>を用いて強度チェックを行います。
<parameter>dictionary</parameter>が指定されない場合、直近にオープ
ンされた辞書が使用されます。
</para>
</refsect1>
</refentry>
<refentry id="function.crack-getlastmessage">
<refnamediv>
<refname>crack_getlastmessage</refname>
<refpurpose>直近の強度チェックからのメッセージを返す</refpurpose>
</refnamediv>
<refsect1>
<title>辞書</title>
<methodsynopsis>
<type>string</type><methodname>crack_getlastmessage</methodname>
<void/>
</methodsynopsis>
&warn.experimental.func;
<para>
<function>crack_getlastmessage</function>は、 直近の強度チェック
からのメッセージを返します。
</para>
</refsect1>
</refentry>
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
|