Procedimientos recomendados para usar fragmentos de códigoBest practices for using code snippets

El código de un fragmento de código muestra solo la forma más sencilla de hacer algo.The code in a code snippet shows only the most basic way to do something. Para la mayoría de las aplicaciones, el código debe modificarse para adaptarlo a la aplicación.For most applications, the code must be modified to suit the application.

Control de excepcionesHandling exceptions

Normalmente, el fragmento de código Try...Catch bloquea catch y vuelve a iniciar todas las excepciones.Typically, code snippet Try...Catch blocks catch and rethrow all exceptions. Es posible que esta no sea la elección correcta para su proyecto.That may not be the right choice for your project. Para cada excepción, hay varias formas de responder.For each exception, there are several ways to respond. Para obtener ejemplos, vea Cómo: Controlar una excepción mediante Try y Catch (C#) e Instrucción Try...Catch...Finally (Visual Basic).For examples, see How to: Handle an exception using try/catch (C#) and Try...Catch...Finally statement (Visual Basic).

Ubicaciones de archivosFile locations

Al adaptar las ubicaciones de archivo a la aplicación, debe tener en cuenta lo siguiente:When you adapt file locations to your application, you should think about the following:

  • Encontrar una ubicación accesible.Finding an accessible location. Es posible que los usuarios no tengan acceso a la carpeta Archivos de programa del equipo, por lo que puede que no sirva almacenar archivos con los archivos de aplicación.Users may not have access to the Program Files folder of the computer, so storing files with the application files may not work.

  • Encontrar una ubicación segura.Finding a secure location. Almacenar archivos en la carpeta raíz (C:\ ) no es seguro.Storing files in the root folder (C:\) is not secure. Para los datos de aplicaciones, le recomendamos la carpeta Application Data.For application data, we recommend the Application Data folder. Para los datos de usuarios individuales, la aplicación puede crear un archivo para cada usuario en la carpeta Documentos.For individual user data, the application can create a file for each user in the Documents folder.

  • Usar un nombre de archivo válido.Using a valid file name. Puede usar los controles OpenFileDialog y SaveFileDialog para reducir la probabilidad de nombres de archivo no válidos.You can use the OpenFileDialog and SaveFileDialog controls to reduce the likelihood of invalid file names. Tenga en cuenta que, entre el momento en que el usuario selecciona un archivo y el tiempo que el código manipula el archivo, se puede eliminar el archivo.Be aware that between the time the user selects a file and the time your code manipulates the file, the file may be deleted. Además, es posible que el usuario no tenga permisos para escribir en el archivo.In addition, the user may not have permissions to write to the file.

SeguridadSecurity

El nivel de seguridad de un fragmento de código depende de dónde se usa en el código fuente y cómo se modifica una vez que está en el código.How secure a snippet is depends on where it is used in the source code and how it is modified once it is in the code. La lista siguiente contiene algunas de las áreas que deben tenerse en cuenta.The following list contains a few of the areas that must be considered.

  • Acceso de base de datos y archivoFile and database access

  • Seguridad de acceso del códigoCode access security

  • Protección de recursos (como registros de eventos, Registro)Protecting resources (such as event logs, registry)

  • Almacenamiento de secretosStoring secrets

  • Comprobación de entradasVerifying inputs

  • Paso de datos a tecnologías de scriptingPassing data to scripting technologies

Para obtener más información, consulte Proteger aplicaciones.For more information, see Securing applications.

Fragmentos de código descargadosDownloaded code snippets

Los fragmentos de código de IntelliSense instalados por Visual Studio no constituyen por sí mismos un peligro para la seguridad.IntelliSense code snippets installed by Visual Studio are not in themselves a security hazard. En cambio, pueden crear riesgos de seguridad en la aplicación.However, they can create security risks in your application. Los fragmentos de código descargados de Internet deben tratarse como cualquier otro contenido descargado: con extrema precaución.Snippets downloaded from the Internet should be treated like any other downloaded content - with extreme caution.

  • Descargue fragmentos solo de sitios de confianza y use software antivirus actualizado.Download snippets only from sites you trust, and use up-to-date virus software.

  • Abra todos los archivos de fragmento de código descargados en el Bloc de notas o el editor XML de Visual Studio y examínelos detenidamente antes de instalarlos.Open all downloaded snippet files in Notepad or the XML editor of Visual Studio and review them carefully before installing them. Busque los siguientes problemas:Look for the following issues:

    • El fragmento de código podría dañar el sistema si lo ejecuta.The snippet code could damage your system if you execute it. Lea detenidamente el código fuente antes de ejecutarlo.Read the source code carefully before running it.

    • El bloque Dirección URL de ayuda del archivo de fragmento de código puede contener direcciones URL que ejecuten un archivo de script malintencionado o muestren un sitio web ofensivo.The Help URL block of the snippet file can contain URLs that execute a malicious script file or display an offensive website.

    • El fragmento de código puede contener referencias que se agregan automáticamente al proyecto y es posible que se carguen desde cualquier lugar del sistema.The snippet may contain references that are added silently to your project and may be loaded from anywhere on your system. Es posible que estas referencias se hayan descargado en el equipo desde el mismo sitio del que ha descargado el fragmento de código.These references may have been downloaded to your computer from where you downloaded the snippet. El fragmento de código puede realizar una llamada a un método en la referencia que ejecuta código malintencionado.The snippet may then make a call to a method in the reference that executes malicious code. Para protegerse contra este tipo de ataque, revise los bloques Importaciones y Referencias del archivo de fragmentos.To protect yourself against such an attack, review the Imports and References blocks of the snippet file.

Vea tambiénSee also