mirror of
https://github.com/php/doc-es.git
synced 2026-03-27 00:42:10 +01:00
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@336082 c90b9560-bf6c-de11-be94-00142212c4b1
141 lines
4.6 KiB
XML
141 lines
4.6 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<!-- EN-Revision: 98751e689de737df455ec7a7b9809abc67e488ca Maintainer: seros Status: ready -->
|
|
<!-- Reviewed: yes Maintainer: seros -->
|
|
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.addslashes">
|
|
<refnamediv>
|
|
<refname>addslashes</refname>
|
|
<refpurpose>Escapa un string con barras invertidas</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsect1 role="description">
|
|
&reftitle.description;
|
|
<methodsynopsis>
|
|
<type>string</type><methodname>addslashes</methodname>
|
|
<methodparam><type>string</type><parameter>str</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
Devuelve un string con barras invertidas delante de los caracteres que necesitan
|
|
ser escapados. Estos caracteres son la comilla simple (<literal>'</literal>),
|
|
comilla doble <literal>"</literal>), barra invertida
|
|
(<literal>\</literal>) y NUL (el byte &null;).
|
|
</para>
|
|
<para>
|
|
Un ejemplo del uso de <function>addslashes</function> es cuando
|
|
se introducen datos en un string que es evaluado por PHP. Por ejemplo,
|
|
si <literal>O'Reilly</literal> se almacena en $str, es necesario escapar
|
|
$str. (p.ej. eval("echo '".addslashes($str)."';"); )
|
|
</para>
|
|
<para>
|
|
Para escapar parámetros de bases de datos, deberían usarse funciones
|
|
de escape específicas de cada SGBD por razones de seguridad (p.ej.
|
|
<function>mysqli_real_escape_string</function> para MySQL o <function>pg_escape_literal</function>,
|
|
<function>pg_escape_string</function> para PostgreSQL). Los SGBD poseen
|
|
una especificación de escape diferente para identificadores (p.ej. Nombre de tabla,
|
|
nombre de campo) que para parámetros. Algunos SGBD como PostgreSQL proporcionan
|
|
una función es escape de identificadores,
|
|
<function>pg_escape_identifier</function>, pero no todos los
|
|
SGBD proporcionan una API de escape de identificadores. Si este es el caso,
|
|
consulte el manual del sistema de base de datos para el método apropiado de escape.
|
|
</para>
|
|
<para>
|
|
Si un SGBD no posee una función de escape y dicho SGBD
|
|
usa <literal>\</literal> para escapar caracteres especiales, podría ser posible
|
|
usar esta función únicamente cuando este método de escape es adecuado para
|
|
la base de datos. Por favor, observe que el uso de
|
|
<function>addslashes</function> para el escape de parámetros de bases de datos
|
|
puede ser la causa de problemas de seguridad en la mayoría de las bases de datos.
|
|
</para>
|
|
<para>
|
|
La directiva de PHP <link linkend="ini.magic-quotes-gpc">
|
|
magic_quotes_gpc</link> estaba activada (<literal>on</literal>) por defecto antes
|
|
de PHP 5.4, y básicamente ejecutaba la función <function>addslashes</function> en
|
|
todos los datos GET, POST y COOKIE. No utilizar
|
|
<function>addslashes</function> en las cadenas que ya
|
|
se han escapado con
|
|
<link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link> ya que se
|
|
hará un doble escape. La función
|
|
<function>get_magic_quotes_gpc</function> podría ser útil
|
|
para comprobar esto.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="parameters">
|
|
&reftitle.parameters;
|
|
<para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>str</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
El string a escapar.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="returnvalues">
|
|
&reftitle.returnvalues;
|
|
<para>
|
|
Devuelve un string escapado.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="examples">
|
|
&reftitle.examples;
|
|
<para>
|
|
<example>
|
|
<title>Un ejemplo de <function>addslashes</function></title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$str = "Is your name O'Reilly?";
|
|
|
|
// Outputs: Is your name O\'Reilly?
|
|
echo addslashes($str);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="seealso">
|
|
&reftitle.seealso;
|
|
<para>
|
|
<simplelist>
|
|
<member><function>stripcslashes</function></member>
|
|
<member><function>stripslashes</function></member>
|
|
<member><function>addcslashes</function></member>
|
|
<member><function>htmlspecialchars</function></member>
|
|
<member><function>quotemeta</function></member>
|
|
<member><function>get_magic_quotes_gpc</function></member>
|
|
</simplelist>
|
|
</para>
|
|
</refsect1>
|
|
|
|
</refentry>
|
|
|
|
<!-- 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:"~/.phpdoc/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
|
|
-->
|