Lar Desenvolvimento O que é inseguro? - o que é techopedia

O que é inseguro? - o que é techopedia

Índice:

Anonim

Definição - O que significa Inseguro?

Insegura é uma palavra-chave da linguagem de programação C (C #) usada para denotar uma seção de código que não é gerenciada pelo Common Language Runtime (CLR) do .NET Framework ou código não gerenciado. Inseguro é usado na declaração de um tipo ou membro ou para especificar código de bloco. Quando usado para especificar um método, o contexto de todo o método é inseguro.


O código inseguro fornece boa interoperabilidade com interfaces de programação de aplicativos (API) não gerenciadas ou chamadas de sistema e serve como uma interface compatível para DLL (Bibliotecas de vínculo dinâmico) de terceiros, que exigem ponteiros para a passagem de parâmetros. Código inseguro também pode ser usado durante a depuração, quando o conteúdo do processo requer inspeção ou análise.

Techopedia explica inseguro

Dados inseguros referem-se a dados de memória alocados que não são controlados pelo CLR, como identificadores ou ponteiros do Windows alocados por um novo método.


Código inseguro refere-se a uma instrução ou método que acessa memória não gerenciada, incluindo:

  • Chamadas para APIs do Windows
  • Chamadas para componentes da interface do método COM (Component Object Model) envolvendo estruturas com ponteiros ou código crítico de desempenho.

O código não seguro é usado principalmente quando as operações envolvem ponteiros e, geralmente, quando o código é executado fora do contexto gerenciado. A compilação de código não seguro requer a especificação da opção "/ não seguro" com o comando de compilação.


Em ambientes totalmente confiáveis, o CLR é necessário para execução insegura de código. No entanto, o CLR não verifica o código não seguro. O CLR suporta código não seguro para fornecer acesso direto ao código de memória não gerenciado, que às vezes é preferido por motivos de desempenho.


Como o CLR mantém a segurança e a segurança do tipo, o C # não oferece suporte à aritmética do ponteiro no código gerenciado, diferentemente do C / C ++. A palavra-chave insegura permite o uso do ponteiro no código não gerenciado. No entanto, a segurança não é garantida porque regras estritas de acesso a objetos não são seguidas. Por exemplo, os recursos de operação do ponteiro não são fornecidos no Java Runtime Environment (JRE).


O código não seguro pode criar problemas com estabilidade e segurança, devido à sua sintaxe complexa inerente e ao potencial de erros relacionados à memória, como excesso de pilha, acesso e substituição da memória do sistema. O cuidado extra do desenvolvedor é fundamental para evitar possíveis erros ou riscos à segurança.

Esta definição foi escrita no contexto de C #
O que é inseguro? - o que é techopedia