1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-27 00:42:10 +01:00
Files
archived-doc-es/reference/strings/functions/addslashes.xml
Pedro Antonio Gil Rodríguez 098f7ca162 Correcciones menores de otros usuarios
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@336082 c90b9560-bf6c-de11-be94-00142212c4b1
2015-03-17 15:54:09 +00:00

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
-->