-
Notifications
You must be signed in to change notification settings - Fork 58
/
Copy pathis-uploaded-file.xml
118 lines (109 loc) · 3.42 KB
/
is-uploaded-file.xml
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
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: c1bb7dd16da7b27352a48604d7ad99f477aba0f9 Maintainer: seros Status: ready -->
<!-- Reviewed: yes Maintainer: andresdzphp -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.is-uploaded-file">
<refnamediv>
<refname>is_uploaded_file</refname>
<refpurpose>Indica si el archivo fue subido mediante HTTP POST</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>is_uploaded_file</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
<para>
Devuelve &true; si el archivo nombrado por <parameter>filename</parameter> fue
subido mediante HTTP POST. Esto es útil para intentar asegurarse de que un
usuario malicioso no ha intentado engañar al script haciéndole trabajar con
archivos con los que no debiera de estar trabajando--por ejemplo,
<filename>/etc/passwd</filename>.
</para>
<para>
Este tipo de comprobación es especialmente importante si hay alguna posibilidad
de que nada hecho con los archivos subidos pueda revelar su
contenido al usuario, o incluso a otros usuarios en el mismo
sistema.
</para>
<para>
Para un funcionamiento apropiado, la función <function>is_uploaded_file</function> necesita
un argumento como <varname>$_FILES['archivo_usuario']['tmp_name']</varname>, - el nombre del
archivo subido de la máquina del cliente <varname>$_FILES['archivo_usuario']['name']</varname>
no funciona.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
El nombre de archivo que se va a comprobar.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>is_uploaded_file</function></title>
<programlisting role="php">
<![CDATA[
<?php
if (is_uploaded_file($_FILES['archivo_usuario']['tmp_name'])) {
echo "Archivo ". $_FILES['archivo_usuario']['name'] ." subido con éxtio.\n";
echo "Monstrar contenido\n";
readfile($_FILES['archivo_usuario']['tmp_name']);
} else {
echo "Posible ataque del archivo subido: ";
echo "nombre del archivo '". $_FILES['archivo_usuario']['tmp_name'] . "'.";
}
?>]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>move_uploaded_file</function></member>
<member><varname>$_FILES</varname></member>
<member>Véase <link linkend="features.file-upload">Manejo de subidas de archivos</link> para
un sencillo ejemplo de uso.</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
-->