costra Tue Jun 11 17:47:37 2002 EDT Modified files: /phpdoc-cs/reference/strings reference.xml /phpdoc-cs/reference/strings/functions addcslashes.xml addslashes.xml bin2hex.xml count-chars.xml crc32.xml crypt.xml Log: Some updates.
Index: phpdoc-cs/reference/strings/reference.xml diff -u phpdoc-cs/reference/strings/reference.xml:1.2 phpdoc-cs/reference/strings/reference.xml:1.3 --- phpdoc-cs/reference/strings/reference.xml:1.2 Mon Apr 15 18:06:15 2002 +++ phpdoc-cs/reference/strings/reference.xml Tue Jun 11 17:47:36 2002 @@ -6,15 +6,21 @@ <partintro> <simpara> Všechny tyto funkce různými způsoby pracují s řetězci. Některé - specializovanější funkce najdete v sekcích regulárních výrazů a manipulace s + specializovanější funkce najdete v sekcích regulárních výrazů a obsluha URL. </simpara> <para> Informace o chování řetězců, zvláště v souvislosti s použitím jednoduchých - uvozovek, dvojitých uvozovek a escape sekvencí viz položku + uvozovek, dvojitých uvozovek a znaků opatřených zpětnými lomítky, viz položky <link linkend="language.types.string">Řetězce</link> v sekci <link linkend="language.types">Typy</link> tohoto manuálu. + </para> + <para> + Další informace o mnohem mocnějším zacházení s řetězci a obslužnými funkcemi + nalezenete v sekcích <link linkend="ref.regex">POSIX funkce pro regulární + výrazy</link> a <link linkend="ref.pcre">Perl kompatibilní funkce + regulárních výrazů</link>. </para> </partintro> Index: phpdoc-cs/reference/strings/functions/addcslashes.xml diff -u phpdoc-cs/reference/strings/functions/addcslashes.xml:1.1 phpdoc-cs/reference/strings/functions/addcslashes.xml:1.2 --- phpdoc-cs/reference/strings/functions/addcslashes.xml:1.1 Sun Apr 14 19:48:04 2002 +++ phpdoc-cs/reference/strings/functions/addcslashes.xml Tue Jun 11 17:47:37 +2002 @@ -14,23 +14,58 @@ <methodparam><type>string</type><parameter>charlist</parameter></methodparam> </methodsynopsis> <para> - Vrací řetězec se zpětnými lomítky před znaky, které jsou vypsány v argumentu - <parameter>charlist</parameter>. XXX Excapes - <literal>\n</literal>, <literal>\r</literal> atd. podobně jako v C, - znaky s ASCII kódem nižším než 32 a vyšším než 126 se převedou na - osmičkovou reprezentaci. V <parameter>charlist</parameter> můžete udat - rozsah, např. "\0..\37", což by XXX escapovao všechny znaky s ASCII kódem - mezi 0 a 31. + Vrací řetězec se zpětnými lomítky před znaky, které jsou vypsány v parametru + <parameter>charlist</parameter>. Dále doplní <literal>\n</literal>, + <literal>\r</literal> atd. podobně jako v jazyce C, znaky s ASCII kódem nižším + než 32 a vyšším než 126 se převedou na osmičkovou reprezentaci. + </para> + <para> + Pokud zvolíte oescapovat znaky 0, a, b, f, n, r, + t a v, budou konvertovány na \0, \a, \b, \f, \n, \r, \t + a \v. + V PHP \0 (&null;), \r (carriage return), \n (nový řádek) a \t (tab) + jsou předdefinované escape sekvence, while in C all of these are + predefined escape sequences. + </para> + <para> + V <parameter>charlist</parameter> můžete udat rozsah, např. "\0..\37", + což by escapovalo všechny znaky s ASCII kódem mezi 0 a 31. <example> <title>Ukázka <function>addcslashes</function></title> <programlisting role="php"> +<![CDATA[ $escaped = addcslashes ($not_escaped, "\0..\37!@\177..\377"); +]]> </programlisting> </example> - <note> - <simpara> - Přidáno v PHP4b3-dev.</simpara> - </note> + </para> + <para> + Pakliže uvádíte sekvenci znaků v parametru <parameter>charlist</parametr> + ujistěte se, že víte které další znaky jdou mezi znaky, jež jsou uvedeny + na začátku a na konci rozsahu. + <informalexample> + <programlisting role="php"> +<![CDATA[ +echo addcslashes('foo[ ]', 'A..z'); +// Výstup: \f\o\o\[ \] +// Všechny velké i malé znaky budou escapovány +// ... but so will the [\]^_` and any tabs, line +// feeds, carriage returns, etc. +]]> + </programlisting> + </informalexample> + Také pokud první znak v rozsahu má nižší ASCII hodnotu než druhý znak v rozsahu, + nebude žádný rozsah vytvořen. Pouze znkay začáteční, koncové a v periodě + budou escapovány. Použijte funkci <function>ord</function> k zjištění ASCII +hodnoty + znaků. + <informalexample> + <programlisting role="php"> +<![CDATA[ +echo addcslashes("zoo['.']", 'z..A'); +// Výstup: \zoo['\.'] +]]> + </programlisting> + </informalexample> </para> <para> Viz také: <function>stripcslashes</function>, Index: phpdoc-cs/reference/strings/functions/addslashes.xml diff -u phpdoc-cs/reference/strings/functions/addslashes.xml:1.1 phpdoc-cs/reference/strings/functions/addslashes.xml:1.2 --- phpdoc-cs/reference/strings/functions/addslashes.xml:1.1 Sun Apr 14 19:48:04 2002 +++ phpdoc-cs/reference/strings/functions/addslashes.xml Tue Jun 11 17:47:37 +2002 @@ -13,11 +13,16 @@ <methodparam><type>string</type><parameter>str</parameter></methodparam> </methodsynopsis> <para> - Vrací řetězec se zpětnými lomítky před znaky, které potřebují XXX be quoted + Vrací řetězec se zpětnými lomítky před znaky, které by ohly být problémové v databázových dotazech apod. Tyto znaky jsou jednoduchá uvozovka (<literal>'</literal>), dvojitá uvozovka (<literal>"</literal>), zpětné lomítko (<literal>\</literal>) a NUL (&null; byte). </para> + <note> + <para> + <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link> výchozí hodnota je +ON. + </para> + </note> <para> Viz také: <function>stripslashes</function>, <function>htmlspecialchars</function> a Index: phpdoc-cs/reference/strings/functions/bin2hex.xml diff -u phpdoc-cs/reference/strings/functions/bin2hex.xml:1.1 phpdoc-cs/reference/strings/functions/bin2hex.xml:1.2 --- phpdoc-cs/reference/strings/functions/bin2hex.xml:1.1 Sun Apr 14 19:48:04 2002 +++ phpdoc-cs/reference/strings/functions/bin2hex.xml Tue Jun 11 17:47:37 2002 @@ -13,9 +13,12 @@ <methodparam><type>string</type><parameter>str</parameter></methodparam> </methodsynopsis> <para> - Vrací ASCII řetěec obsahující hexadecimální reprezentaci + Vrací ASCII řetězec obsahující hexadecimální reprezentaci <parameter>str</parameter>. Konverze probíhá po bytech, horní slabika první. + </para> + <para> + Dále také <function>pack</function> a <function>unpack</function>. </para> </refsect1> </refentry> Index: phpdoc-cs/reference/strings/functions/count-chars.xml diff -u phpdoc-cs/reference/strings/functions/count-chars.xml:1.1 phpdoc-cs/reference/strings/functions/count-chars.xml:1.2 --- phpdoc-cs/reference/strings/functions/count-chars.xml:1.1 Sun Apr 14 19:48:06 2002 +++ phpdoc-cs/reference/strings/functions/count-chars.xml Tue Jun 11 17:47:37 +2002 @@ -11,7 +11,7 @@ <methodsynopsis> <type>mixed</type><methodname>count_chars</methodname> <methodparam><type>string</type><parameter>string</parameter></methodparam> - <methodparam choice="opt"><type></type><parameter> + <methodparam choice="opt"><type>int</type><parameter> mode </parameter></methodparam> </methodsynopsis> @@ -51,11 +51,6 @@ </listitem> </itemizedlist> </para> - <note> - <para> - Tato funkce byla přidána v PHP 4.0. - </para> - </note> </refsect1> </refentry> Index: phpdoc-cs/reference/strings/functions/crc32.xml diff -u phpdoc-cs/reference/strings/functions/crc32.xml:1.1 phpdoc-cs/reference/strings/functions/crc32.xml:1.2 --- phpdoc-cs/reference/strings/functions/crc32.xml:1.1 Sun Apr 14 19:48:06 2002 +++ phpdoc-cs/reference/strings/functions/crc32.xml Tue Jun 11 17:47:37 2002 @@ -4,7 +4,7 @@ <refentry id="function.crc32"> <refnamediv> <refname>crc32</refname> - <refpurpose>Spočítat crc32 XXX polynomial řetězce</refpurpose> + <refpurpose>Spočítat kontrolní součet crc32 řetězce</refpurpose> </refnamediv> <refsect1> <title>Popis</title> @@ -13,7 +13,7 @@ <methodparam><type>string</type><parameter>str</parameter></methodparam> </methodsynopsis> <para> - Generuje 32bitový XXX polynomial kontrolního součtu pro + Generuje 32bitový polynomický kontrolní součet pro <parameter>str</parameter>. Obvykle se používá ke kontrole integrity přenášených dat. </para> Index: phpdoc-cs/reference/strings/functions/crypt.xml diff -u phpdoc-cs/reference/strings/functions/crypt.xml:1.1 phpdoc-cs/reference/strings/functions/crypt.xml:1.2 --- phpdoc-cs/reference/strings/functions/crypt.xml:1.1 Sun Apr 14 19:48:06 2002 +++ phpdoc-cs/reference/strings/functions/crypt.xml Tue Jun 11 17:47:37 2002 @@ -4,7 +4,7 @@ <refentry id="function.crypt"> <refnamediv> <refname>crypt</refname> - <refpurpose>Zašifrovat řetězec algoritmem DES</refpurpose> + <refpurpose>Jednosměrné zašifrování řetězce</refpurpose> </refnamediv> <refsect1> <title>Popis</title> @@ -15,68 +15,93 @@ </methodsynopsis> <para> <function>crypt</function> zašifruje řetězec pomocí standardní Unixovské - šifrovací metody <abbrev>DES</abbrev>. Argumenty jsou řetězec k zašifrování - a volitelný dvouznakový XXX salt, na kterém se šifrování založí. - Více informací viz Unixovská man stránka vaší crypt funkce. + šifrovací metody <abbrev>DES</abbrev> nebo alternativního algoritmu dostupného + v operačním systému. Argumenty jsou řetězec k zašifrování + a volitelný dvouznakový řetězec salt, na kterém se šifrování založí. + Více informací naleznete v Unixovské man stránce vaší crypt funkce. </para> <simpara> - Pokud není poskytnut XXX salt argument, PHP jej náhodně vygeneruje. + Není-li uveden <argument>salt</argument>, PHP jej náhodně vygeneruje. </simpara> <simpara> Některé operační systémy podporují více typů šifrování. Někdy se standardní DES šifrování nahrazuje šifrovacím algoritmem založeným na MD5. Typ - šifrování se zvolí podle XXX salt argumentu. Při instalaci PHP zjistí - schopnosti funkce crypt a XXX bude přijímat XXX salt pro jiné typy - šifrování. Při absenci XXX salt PHP defaultně automaticky vygeneruje - standardní dvouznakový DES XXX salt, nicméně pokud je defaultním typem - šifrování na daném systému MD5, vygeneruje náhodný XXX salt kompatibilní s - MD5. PHP vytváří konstantu CRYPT_SALT_LENGTH, která vám řekne, jestli se na - váš systém hodí běžný dvouznakový XXX salt nebo delší dvanáctiznakový MD5 - XXX salt. - </simpara> - <simpara> - Pokud používáte poskytnutý XXX salt, měli byste si být vědomi toho, že se - generuje jednou. Pokud tuto funkci voláte rekurzivně, může to mít účinek na - vzhled, a, do určité míry, bezpečnost. - </simpara> - <simpara> - U standardního DES šifrování <function>crypt</function> přidá XXX salt jako - první dva znaky výstupu. + šifrování se zvolí podle argumentu salt. PHP zjistí pči instalaci + schopnosti funkce crypt a bude přijímat salt pro další typy + šifrování. Při absenci salt PHP automaticky vygeneruje standardní dvouznakový + DES salt a v případě, že je výchozím typem šifrování na daném systému MD5, + vygeneruje náhodný salt kompatibilní s MD5. + PHP vytváří konstantu CRYPT_SALT_LENGTH, která vám řekne, jestli se na + váš systém hodí běžný dvouznakový salt nebo delší dvanáctiznakový MD5 + salt. + </simpara> + <simpara> + Používáte-li poskytnutý salt, měli byste si být vědomi toho, že se + generuje jen jednou. Pokud tuto funkci voláte rekurzivně, může to mít + účinek na vzhled a bezpečnost. + </simpara> + <simpara> + U standardního DES šifrování <function>crypt</function> vrací salt jako + první dva znaky výstupu. K tomu také používá jen prvních osum znaků z + <parameter>str</parameter>, takže delší řetězce, ktewré začínají osmi + stejnými znaky budou generovat i stejný výsledek (když je použit stejný + salt). </simpara> <simpara> Na systémech, kde funkce <function>crypt()</function> podporuje více typů - šifrování se následující konstanty nastaví na 0 nebo 1 podle toho, jestli + šifrování se následující konstanty nastaví na 0 nebo 1 podle toho, zda je daný typ dostupný: </simpara> <itemizedlist> <listitem> <simpara> - CRYPT_STD_DES - Standardní DES šifrování s dvouznakovým XXX SALT + CRYPT_STD_DES - Standardní DES šifrování s dvouznakovým SALT </simpara> </listitem> <listitem> <simpara> - CRYPT_EXT_DES - Rozšířené DES šifrování s devítiznakovým XXX SALT + CRYPT_EXT_DES - Rozšířené DES šifrování s devítiznakovým SALT </simpara> </listitem> <listitem> <simpara> - CRYPT_MD5 - MD5 šifrování s dvanáctiznakovým XXX SALT začínajícím $1$ + CRYPT_MD5 - MD5 šifrování s dvanáctiznakovým SALT začínajícím $1$ </simpara> </listitem> <listitem> <simpara> - CRYPT_BLOWFISH - Rozšířené DES šifrování s šestnáctiznakovým XXX SALT + CRYPT_BLOWFISH - Rozšířené DES šifrování s šestnáctiznakovým SALT začínajícím $2$ </simpara> </listitem> </itemizedlist> + <note> <simpara> Neexistuje žádná decrypt funkce, protože <function>crypt</function> používá jednosměrný algoritmus. </simpara> + </note> + <example> + <title><function>crypt</function> příklad</title> + <programlisting role="php"> +<![CDATA[ +<?php +$heslo = crypt("MePrvniHeslo"); # necháme vygenerovat salt +# Mohli byste narazit na problémy při úplném výsledku crypt() jako salt pro +# porovnání hesla, pokud jsou použity rozdílné šifrovací algoritmy. (jak bylo +# řečeno výše, standardní DES šifrování používá dvouznakový salt, ale MD5 +# šifrování používá dvanáctiznakový. +if (crypt($uziv_vstup, $heslo) == $heslo) { + echo "Heslo ověřeno!"; +} +?> +]]> + </programlisting> + </example> + <simpara> - Viz také: <function>md5</function>. + Dále také <function>md5</function> a + <link linkend="ref.mcrypt">Mcrypt příkazy</link>. </simpara> </refsect1> </refentry>