este blog foi feito para o meu curso de graduação (sistemas para internet na fatec), com o intuito de divulgar tudo que nele me é ensinado.

quinta-feira, 5 de dezembro de 2013

Behavioral Targeting

 Behavioral Targeting é uma estratégia que estuda o comportamento das pessoas. Surgiu nos Estados Unidos, onde profissionais de marketing estudavam o comportamento de um subgrupo e montavam estratégias de vendas.

Na internet, as empresas utilizam os rastros deixados pelas pessoas quando visitam os sites. Essas informações são salvas em bancos de dados e são analisadas para criar estratégicas especificas, de vendas ou anuncios.

Uma das estratégias utilizado por sites de vendas é destacar produtos que tenham mais o perfil do visitante. Se ele costuma acessar uma determinada informação, como por exemplo filmes de ficção cientifica , o site destacará produtos com essa temática, melhorando a experiencia do usuário e aumentando sua chance de venda.

Varias empresas tem ferramentas dedicadas nessa área de Behavioral Targeting. entre as brasileiras podemos citar a Navegg e BTBuckets. E entre os sites internacionais encontram-se a Simpli.fi, e LucidMedia.

WikiLeaks e Julian Assange

WikiLeaks é uma organização sem fins lucrativos que libera documentos confidenciais de diversos governos, principalmente do exercito americano em suas operações no Iraque e no Afeganistão. É administrado por The Sunshine Press e sua primeira publicação oficial ocorreu em 2007.
ficou conhecido por publicar materiais confidenciais de governos e empresas. O maior destaque do site, que rendeu sua fama atual foi quando divulgou um vídeo de um ataque de helicóptero americano na ocupação do Iraque, na qual morreram 12 pessoas, entre elas 2 jornalistas da agencia de noticias Reuters. Outra repercussão do site foi a divulgação dos manuais para o tratamento de prisioneiros na prisão militar americana de Guantánamo.


Entre seus fundadores estão, jornalistas, matemáticos, tecnólogos de empresas e  dissidentes chineses.  O site foi montado em vários pacotes de programas, incluindo MediaWiki, Freenet, Tor e PGP, para garantir a confidencialidade das postagens de fontes anônimas. Ele é mantido por doações,de diversas empresas como:  Los Angeles Times e a National Newspaper Publishers Association.

Julian Paul Assange, é um de seus fundadores,  um jornalista, escritor e ciberativista australiano.
 Principal porta-voz do site WikiLeaks. Começou cedo em atividades de crimes digitais, foi declarado culpado por 24 acusações de hacking e foi liberado sob fiança por bom comportamento.

Por causa do site  WikiLeaks,  recebeu diversos prêmios. Amnesty International UK Media Awards de 2009 por divulgar os assassinatos extrajudiciais no Quênia. Index on Censorship do Economist de 2008. Sam Adams Award de 2010. E em 2010 foi votado como das 50 figuras mais influentes  pela New Statesman, ficando em 23º 

Em 2010, após vazar os documentos sobre as operações no Afeganistão, a justiça da Suécia expediu dois mandados de prisão contra Assange, um por estrupo e outro por agressão sexual.  Diversas teorias de conspiração surgiram envolvendo, autoridades suecas e os governos americanos, que processaram o site WikiLeaks por espionagem, ao mesmo tempo  as autoridades inglesas, que anunciou a decisão de extradição de Julian Assange para  a Suécia. Ele encontra-se atualmente na embaixada do Equador, em Londres, após pedir asilo em 2012.

Edward Snowden

Edward Snowden ex-analista de inteligência do serviço secreto dos EUA, ficou conhecido por divulgar vários programas de vigilâncias altamente confidenciais dos governos dos Estados Unidos e Reino Unido. Esses programas  diziam monitorar pessoas suspeitas de participarem de grupos terroristas, porém diversas pessoas foram espionadas inclusive a presidente Dilma.

O Edward Snowden trabalhou na NSA e na CIA, e antes da divulgação dos documentos, trabalhava na Booz Allen Hamilton, e divulgou as informações atravéz dos jornais, The Guardian, The Washington Post e New York Times, Entre outras coisas os documentos divulgados por Snowden revelou os programas de vigilância que o governo dos Estados Unidos para monitorar os meios de comunicações. 

Vale citar o programa que  ficou conhecido como PRISM, que é mantido pela agencia de segurança nacional americana (NSA), que monitorava todos os meios de comunicação em tempo real, coletando dados de cidadãos americanos e de outros países, atrás de possíveis suspeitos de participarem de grupos terroristas. O PRISM surgiu após o ataque de 11 de setembro em 2001, no governo George W. Bush.

Entre outras coisas o PRISM recebeu a colaboração de grandes empresas da Internet, como o Facebook, Yahoo, Apple, Google e Microsoft. A NSA tinha acesso direto aos dados dessas empresas sem necessáriamente  possuir ordem judicial.

Outro escandalo surgiu revelada pelas informações de Snowden foi à descoberta do monitoramento por parte dos agentes da NSA a grandes empresas multinacionais e de chefes de Estados.Atualmente Snowden está em  asilo na Rússia, após acusações feitas pelo governo americano, que acusa o ex-analista de espionagem, por roubar e vazar os dados secretos do governo.

Engenharia Social



Engenharia Social é a técnica usada por criminosos para se apropriar de  informações sigilosas de pessoas e empresas. Mestres na persuasão, eles convencem pessoas e assim cometer seus crimes.

Técnicas de engenharia social podem ser implementadas,  não necessariamente por meios tecnológicos. Um criminoso pode se passar por um funcionário  de uma empresa de proteção de  dados, criar uma identidade falsa para persuadir as vítimas. Outra técnica e vasculhar lixos onde pode conter possíveis informações.

Na web são utilizados sites fakes, redes sociais, e-mails suspeitos entre outros. Os criminosos ficam acompanhando os assuntos do momento, e através de mensagens com links suspeitos, tentam atrair as pessoas para serem redirecionados a sites maliciosos.

A prevenção se dá por meio de políticas de segurança, conscientização de funcionários sobre os perigos e treinamentos constantes.

sábado, 30 de novembro de 2013

Podcast

Podcast é um arquivo de áudio digital, frequentemente em formato MP3 ou AACC (este último pode conter imagens estáticas e links), publicado através de podcasting na internet e atualizado via RSS ( para saber o que é RSS visite aqui). Também pode se referir a série de episódios de algum programa de áudio distribuído pela internet . A palavra é uma junção de Pod-Personal On Demand (numa tradução literal, pessoal sob demanda). O podcast em vídeo chama-se "videocast".
Exemplo de podcast:
Blog




Internet das coisas

sexta-feira, 29 de novembro de 2013

Lei de proteção de dados

A Lei de proteção de dados 12.737/2012 conhecida como  Lei Carolina Dieckmann  executou algumas alterações no Código Penal Brasileiro. Classificando os delitos ou crimes informáticos.
A  Lei  foi  aprovada  em tempo "record"  pelo congresso nacional,  em comparação com outros projetos sobre delitos.
O Projeto de Lei que resultou na "Lei Carolina Dieckmann" foi proposto  diante de situação específica experimentada pela atriz, em maio de 2011, que teve copiadas de seu computador pessoal 36  fotos íntimas, que acabaram divulgadas na Internet.
Alei recebe diversas criticas, por ser confusa e  pode gerar dupla interpretação ou mesmo interpretação subjetiva. Podendo enquadrar delitos leves e que não condizem com a penalidade. Esta  lei entrou em vigor no dia 02 de abril de 2013.

Os delitos previstos na Lei Carolina Dieckmann são:
·         1) Art. 154-A - Invasão de dispositivo informático alheio, conectado ou não à rede de computadores, mediante violação indevida de mecanismo de segurança e com o fim de obter, adulterar ou destruir dados ou informações sem autorização expressa ou tácita do titular do dispositivo ou instalar vulnerabilidades para obter vantagem ilícita. Pena - detenção, de 3 (três) meses a 1 (um) ano, e multa.
·         2) Art. 266 - Interrupção ou perturbação de serviço telegráfico, telefônico, informático, telemático ou de informação de utilidade pública - Pena - detenção, de um a três anos, e multa.
·         3) Art. 298 - Falsificação de documento particular/cartão - Pena - reclusão, de um a cinco anos, e multa.

Transparencia Publica

O projeto  Transparência publica é uma iniciativa do governo do estado de São Paulo  que  divulga para a sociedade, c, as informações produzidas pela Administração Pública , por meio do site de mesmo nome.
Hoje o Estado de São Paulo conta com os portais  onde se encontram não apenas informações organizadas como também dados em formato aberto.

Como por exemplo o Prestando contas, hospedado no site da Secretaria da Fazenda, com várias informações obtidas dos sistemas de execução orçamentária-financeira e patrimonial, do banco de dados dos servidores públicos estaduais, entre outras fontes.

O Portal da Transparência Estadual foi previsto no Decreto nº 57.500, de 8/11/2011, sob a responsabilidade da Corregedoria Geral da Administração e será introduzido de forma gradual na medida em que a sociedade necessitar.

segunda-feira, 25 de novembro de 2013

SQL injection

SQL Injection é uma técnica de invasão que se aproveita da programação utilizada para consultar tabelas do banco de dados para acessar, excluir ou alterar informações indevidamente.
Qualquer site que faz sua  base em conteúdo de um banco de dados, como gerenciadores de conteúdo (CMS), está sujeito a receber este tipo de ataque, que pode resultar na alteração de conteúdo, incluindo a inserção de códigos maliciosos, ou no acesso a informações sigilosas.
A vulnerabilidade está presente nos scripts em que a entrada de dados do usuário, seja via formulário ou URI, usando os métodos GET ou POST, não é devidamente filtrada, permitindo o uso de comandos específicos do banco de dados. Como resultado, o invasor consegue alterar as consultas (queries) definidas pelo programador para acesso a bancos como: MySQL, SQL Server, PostgreSQL, Access, etc.
A proteção contra SQL Injection requer que o programador trate todos os parâmetros recebidos por scritps que acessam o banco de dados, com o objetivo de filtrar strings potencialmente perigosas, como:
' (aspas simples)
" (aspas duplas)
< (menor que)
> (maior que)
-- (duplo sinal de menos)
# (cerquilha)
* (asterisco)
& (e comercial) 

Comandos SQL como:
DECLARE
EXEC
SET
CAST
INSERT
DELETE
UPDATE 

Web 1.0, 2.0 e 3.0

Web 1.0:  Inicialmente a internet surgiu para informar e trocar informação mas somente de maneira estática, ou seja o usuário não alterava o conteúdo, exemplo: http://mwf.microwaynet.com.br/webmw/  

Web 2.0: Depois surgiram os sites que possibilitavam a alteração de conteúdo, como por exemplo o igoogle.com/ msn.com.br / wikipédia.org, eles oferecem uma maneira de personalização da pagina como escolha de noticias relevantes ou inserção e alteração de informação.

Web 3.0:Esta é considerada por alguns a web inteligente, pois consegue ler o que o usuário está fazendo e inserir conteúdo que possa ser relevante para ele, é o caso do serviço de e-mail GMAIL da google pois ele consegue ler todas suas mensagens e inserir publicidade, outro site interessante que utiliza essa tecnologia é o site akinator ele consegue adivinhar uma pessoa pela obtenção de 20 respostas utilizando uma avançada rede neural artificial    (http://pt.akinator.com/ ). 

RSS


RSS (Rich Site Summary, RDF Site Summary, Really Simple Syndication. ) é um formato para troca de dados, podendo ser acessado através de programas ou sites agregados. É usado principalmente em sites de notícias e blogs.
Esta tecnologia permite aos usuários que se inscrevam em sites que fornecem feeds RSS. Sites que utilizam essa tecnologia são principalmente aqueles que atualizam o conteúdo regularmente.Para isso, são utilizados Feeds RSS que recebem e transmitem as atualizações. Esta tecnologia permite que o usuário esteja informado de diversas atualizações, de diversos sites sem precisar aceitá-los.     
se inscreverem em sites que fornecem "feeds" RSS. Estes são tipicamente sites que mudam ou atualizam o seu conteúdo regularmente. Para isso, são utilizados Feeds RSS que recebem estas atualizações, desta maneira o utilizador pode permanecer informado de diversas atualizações em diversos sites sem precisar visitá-los um a um.

Os feeds RSS oferecem conteúdo Web ou resumos de conteúdo juntamente com os links para as versões completas deste conteúdo e outros dados. Esta informação é entregue como um arquivo XML chamado "RSS feed", "webfeed", "Atom" ou ainda canal RSS.
O ícone mais famoso Ícone feed RSS que representa o RSS foi adotado numa parceria entre a Mozila foundation (criadora do Firefox, que já usava o ícone) com a Microsoft para o Internet Explorer 7.
O RSS funciona da seguinte maneira:
No arquivo RSS são incluídas informações como título, página, descrição da alteração, data, autor, etc.Sua atualização ocorre dentre alguns minutos. O RSS é um formato padronizado mundialmente, que funciona sob a linguagem XML (Extensible Markup Language), e é usado para compartilhar conteúdo Web. Muito utilizado por portais de notícias o RSS permite que o leitor receba as manchetes rapidamente e que fique sabendo das noticias que lhe interessam . Este arquivo poderá ser lido através de qualquer ferramenta que seja capaz de entender o formato XML do RSS.
O RDF Site Summary,  foi a primeira versão do RSS, criada por Dan Libby da Netscape em março de 1999 para uso no portal "My Netscape". Esta versão ficou conhecida como RSS 0.9. Em julho de 1999, em resposta a comentários e sugestões, LIbby produziu um protótipo chamado RSS 0.91 (com RSS significando Rich Site Summary), simplificando também o formato.
O RSS (Really Simple Syndication) é um descendente do RDF (Resource Description Framework) e segue as definições da W3C para o RDF, que é descendente do XML

Diferenças entre site estático e site dinâmico

O site estático é aquele que não possui conteúdo sensivel, não possui ferramenta de gerenciamento incorporadas ao site. Ou seja, não possui banco de dados e a sua manutenção é dificil  , pois há a necessidade do uso de ferramentas externas tipo dreamweaver, frontpage, Photoshop,etc.

Já o site dinâmico possui conteúdo sensível e  é facilmente gerenciado  através de CMS(Content Management System.) Sistema de gestão de conteúdo. As informações são armazenadas em um banco de dados e podem ser facilmente atualizadas e corrigidas pelo próprio site. Nesse formato mesmo um leigo da informática pode alterar o conteúdo do site. Ele possui ferramentas simples e fáceis de utilizar. utiliza linguagem de programação dinâmica e seu layout é facilmente alterado.

SAAS(Software as a service)

Software as a service é uma forma de distribuição de software que vem ganhando força nos ultimos anos.O fornecedor do serviço (software) se responsabiliza por toda a estrutura necessário para a disponibilização do sistema.Geralmente tudo o que o consumidor precisa ter instalado no seu computar é um browser de internet. O software que antes necessitava de instalações complicadas e o pagamento de uma licença para seu uso hoje não precisa de mais nada disso. No modelo tradicional o consumidor comprava o software como um produto, hoje ele paga uma mensalidade ou anuidade para utilizar do serviço.Existem diversos modelos de cobrança do SaaS os principais são:
  • valor recorrente (geralmente mensal) proporcional ao número de licenças utilizadas
  • valor recorrente (geralmente mensal) proporcional ao uso (ex.: disparo de e-mail marketing)
  • propaganda (banners)
  • Fremmium - com versões gratuitas e pagas de acordo com as funcionalidades disponíveis
A grande diferença entre esse modelo tradicional é o baixo custo e o pagamento a longo prazo pelo uso do produto.
Esse modelo de distribuição de software tornou-se muito popular a atrativo para empresas de grande porte, pois a aquisição de licenças ocasionava um grande custo. Com o modelo SaaS o pagamento torna-se bem menor fazendo assim seu uso ser mais vantajoso. 
Para uso pessoal esse modelo ainda não é tão atraente, porém empresas como o netflix vem ganhando força nesse meio.   

segunda-feira, 18 de novembro de 2013

Formulários

Form
Um formulario é feito para receber dados do usuário como por exemplo  campos de senha e texto . A tag principal para a abertura de um formulário é a tag <form>  que indica a abertura do formulário e possui os atributos:
accept-charset ele especifica o tipo de codificação de caracter.
action especifica  onde enviar o´arquivo do formulário quando ele é enviado.
autocomplete completa automaticamente o formulário e possui os valores on off
 enctype especifica como o arquivo do formulário deve ser codificado quando enviado para o servidor esse atributo só funciona se o method="post".
method especifica o método HTTP para o envio de formulário de dados e possui os valores get e post.
name especifica o nome do formulário possui o valor text.
novalidate valor novalidate, especifica que o formulário não deve ser validado quando enviado.
target Especifica onde exibir a resposta que é recebido após enviar o formulário possui os valores, _blank a resposta aparce numae nova janela, _self a resposta aparece no mesmo quadro(frame), _parent a resposta é mostrada no quadro principal, _top a resposta aparece em todo o corpo da janela, framename a resposta aparece na frame com o nome indicado.  


input

A tag <input> especifica um campo de entrada onde o usuário pode inserir dados.<input> é usado ​​dentro de um elemento <form> para declarar controles de entrada que permitem aos usuários inserir dados. Essa tag possui diversos atributos são eles:
Autocomplete on/off indica quando um elemento input deve se auto-completar.

Autofocus  especifica que um elemento input deve automaticamente receber foco quando a página carregar.
form form-id especifica para qual formulário o input pertence
.
O atributo accept especifica os tipos de arquivos que o servidor aceita (que podem ser enviados através de um arquivo de upload). O atributo accept só pode ser usado com <input type="file">. Possui os valores audio/* para arquivos de audio, video/* para arquivos de video, image/* para arquivos de imagem e Mime_type para qualquer arquivo suportado. 

O atributo alt oferece um texto alternativo para o usuário, se ele por alguma razão não pode ver a imagem. O atributo alt só pode ser usado com <input type="image">.

O atributo autocomplete especifica se um campo de entrada deve se auto completar. Ele permite que o navegador preveja o valor. Este atributo trabalha com os seguintes tipos <input>: text, search, url, tel, email, password, datepickers, range e color. Possui os valores on off.
O atributo autofocus é um atributo booleano.Quando presente, ele especifica que um elemento <input> deve receber automaticamente o foco quando a página é carregada.
O atributo checked é um atributo booleano.Quando presente, ele especifica que um elemento <input> deve ser pré-selecionadas, quando a página é carregada.O atributo verificado pode ser usado com<input type="checkbox"> e <input type="radio">.O atributo verificado também pode ser definido após o carregamento da página, com um JavaScript.
O atributo disabled é um atributo booleano. Quando presente, ele especifica que o elemento <input> deve ser desativado.O atributo disabled pode ser configurado para impedir um usuário de usar o elemento <input> até alguma outra condição foi cumprida (como selecionar uma caixa de verificação, etc.) Em seguida, um JavaScript poderia remover o valor desativado, e fazer o elemento <input> utilizável. O atributo disabled não funciona com <input type="hidden">.
O atributo de form especifica um ou mais formulários que o elemento <input> pertence. Possui o valor form_id.
O atributo formaction especifica a URL do arquivo que irá processar o controle de entrada, quando o formulário é enviado.Ele substitui o atributo do elemento <form> action. Ele só é usado com type = "submit" e type = "image".
Ex:<input formaction=”url”>


O atributo formenctype especifica como os dados dos formulários devem ser codificados quando enviados para o servidor (apenas para formulários com method = "post")  O atributo formenctype substitui o atributo enctype do elemento <form>.O atributo formenctype é usado com type = "submit" e type = "image". Possui os valores application/x-www-form-urlencoded Todos os caracteres são codificados antes de serem enviadas (espaços são convertidos em "+" símbolos e caracteres especiais são convertidos para valores HEX ASCII), e multipart/form-data Nenhum character  é codificado,  text/plain character  simples são convertidos em símbolos "+", mas nenhum caracter especial é codificado.

O atributo novalidate é um atributo booleano. Quando presente, ele especifica que o elemento <input> não deve ser validado quando enviado. O atributo formnovalidate substitui o atributo do elemento novalidate <form>. O atributo formnovalidate só pode ser usado com type = "submit".
Ex: <input formnovalidate="formnovalidate">
O atributo list refere-se a um elemento <datalist> que contém as opções pré-definidas para um elemento <input>.
Ex: <input list="datalist_id">
O atributo max especifica o valor máximo para um elemento <input>. Use o atributo max junto com o atributo min para criar uma faixa de valores legais.O máximo e mínimo atributos funciona com os seguintes tipos de entrada: number, range, date, datetime, datetime-local, month, time e week. Possui os valores Number e date.
O atributo maxlength especifica o número máximo de caracteres permitidos no elemento <input>. O seu valor é dado por um número.
O atributo min especifica o valor mínimo para um elemento <input>.Use o atributo min junto com o atributo máximo para criar uma faixa de valores legais. O Max e min atributos funcionam com os seguintes tipos de entrada: number, range, date, datetime, datetime-local, month, time e week.
O atributo multiple é um atributo booleano.Quando presente, ele especifica que o usuário tem permissão para inserir mais de um valor no elemento <input>.O atributo multiple trabalha com os seguintes tipos de entrada: email e file.
O atributo src especifica o URL da imagem para usar como um botão de envio. Ele é necessário para <input type="image">, e só pode ser usado com <origem type="image">.
O atributo placeholder especifica um curto espaço  com uma dica que descreve o valor esperado de um campo de entrada (por exemplo, um valor de amostra ou uma curta descrição do formato esperado).A dica é exibida no campo de entrada antes de o usuário digitar um valor.O atributo placeholder trabalha com os seguintes tipos de entrada: text, search, url, tel, email e password.
O atributo de value especifica o valor de um elemento <input>.O atributo de value é usado de forma diferente para diferentes tipos de entrada:
Para o "bottom", "reset" e "submit" - define o texto no botão.
Para "text", "password" e "hidden" - define o valor inicial (default) do campo de entrada.
Para "checkbox", "radio", "image" - define o valor associado com a entrada (este é também o valor que é enviado em submit).
Este atributo é necessário com <input type="checkbox"> e <input type="radio">.Ele não pode ser usado com <input type="file">.



O atributo type especifica o tipo de elemento <input> para exibir.O tipo padrão é: texto,  porém existem diversos outros são eles:
Button  Define um botão clicável ( usado principalmente com JavaScript para ativar um script)
Checkbox Define uma caixa de seleção
color Define um seletor de cores
Date Define um controle data (ano , mês e dia (sem tempo ) )
Datetime Define um controle de data e tempo (ano , mês, dia , hora, minuto , segundo e fração de segundo , com base no fuso horário UTC)
email Define um campo de um endereço de e-mail
file Define um campo de arquivo e selecione uma "Browse ... " botão (para upload de arquivos )
Hidden Define um campo de entrada oculto
image Define uma imagem como o botão submit
month Define um mês e controle de ano (sem fuso horário)
number Define um campo para digitar um número
Password Define um campo de senha (caracteres são mascarados )
radio Define um botão de rádio
range Define um controle para digitar um número , cujo valor exato não é importante (como um controle deslizante )
reset Define um botão reset ( reseta todos os valores do formulário para os valores padrão )
search Define um campo de texto para inserir uma seqüência de pesquisa
submit Define um botão de envio
tel Define um campo para digitar um número de telefone
Text padrão . Define um campo de texto de linha única ( largura padrão é de 20 caracteres )
time Define um controle para entrar em um tempo (sem fuso horário)
url Define um campo para digitar uma URL
week Define uma semana e controle de ano (sem fuso horário)



Textarea

A tag <textarea> define um multi-linha de controle de entrada de texto.
Autofocus possui o valor autofocus Especifica que uma área de texto deve receber automaticamente o foco quando a página é carregada.
Cols number, especifica a largura visível de uma área de texto
Disabled especifica que uma área de texto deve ser desativado
form form_id Especifica a quantos formulários a área de texto pertence
 maxlength Especifica o número máximo de caracteres permitidos na área de texto recebe o valor number.
Name, valor text, Especifica um nome para uma área de texto
Placeholder, valor text, Especifica uma pequena dica que descreve o valor esperado de uma área de texto
Readonly, valor readonly, Especifica que uma área de texto deve ser somente leitura
required, valor required, Especifica que uma área de texto é necessária / deve ser preenchido
rows, valor number, Especifica o número de linhas visíveis numa área de texto
wrap, valores hard soft, especifica como o texto numa área de texto  deve ser ajustada quando apresentado em um formulário.


Label
A tag <label> define um rótulo para um elemento <input>. Ele fornece uma melhoria de usabilidade para os usuários do mouse, porque se o usuário clicar sobre o texto dentro do elemento <label>, alterna o controle.O atributo da tag <label> deve ser igual ao atributo id do elemento input para que fiquem vinculados. Possui os atributos for, que especifica qual o elemento o label é vinculado e form que especifica uma ou mais formulários a que pertence.
Fieldset
A tag <fieldset> é usada para agrupar elementos relacionados em um formulário.A tag <fieldset> desenha uma caixa em torno dos elementos relacionados. Possui os seguintes atributos disabled especifica que um grupo de elementos de formulário relacionados deve ser desativado, form Especifica uma ou mais formas a fieldset pertence, name do texto Especifica um nome para o conjunto de campos.
Legend
A tag <legend> define uma legenda para o elemento <fieldset>.
Optgroup
O <optgroup> é usado para opções de grupo relacionado em uma lista. Se você tem uma longa lista de opções, grupos de opções relacionadas são mais fáceis de manusear para um usuário. Possui os atributos disabled  que especifica que um grupo ou opção deve ser desativada. Label  que especifica um rótulo para um grupo opção
Option
A tag <option> define uma opção em uma lista de seleção.Os elementos <option> vão dentro de uma <select> ou <datalist>. Possui os seguintes atributos:
Disabled com o valor  disabled, ele especifica que uma opção deve ser desativada.
Label com o valor text, especifica um rótulo mais curto para uma opção.
Selected com o valor selected, especifica que uma opção deve ser pré-selecionado quando a página é carregada.
value  com o valor text, especifica o valor a ser enviado para um servidor.
Keygen
A tag <keygen> especifica um campo gerador de chaves de par usado para formulários.Quando o formulário é enviado, a chave privada é armazenada localmente, e a chave pública é enviada para o servidor.
Possui os seguintes atributos:
Autofocus com o valor autofocus, especifica que um elemento <keygen> deve receber automaticamente o foco quando a página é carregada.
Challenge com o valor challenge, especifica que o valor do elemento <keygen> deve ser desafiado quando enviado.
Disabled  com o valor disabled, especifica que um elemento <keygen> deve ser desativado.
Form recebe de valor o id do form, especifica uma ou mais formas do elemento <keygen> pertence.
Name com o valor    name, Define o  nome para um elemento <keygen> .
Keytype pode recer os valores, rsa, dsa, ec, ele especifica o algoritmo da chave de segurança.
Datalist
A tag <datalist> especifica uma lista de opções pré-definidas para um elemento <input>. Ela é usada para fornecer um recurso de "auto completar" na <input> . Os usuários verão uma lista de opções pré-definidas com os dados introduzidos. Use lista de atributos do elemento <input> para vinculá-lo em conjunto com um elemento <datalist>.
Output
A tag <output> representa o resultado de um cálculo (como uma realizada por um script). Possui os atributos:
for que recebe o valor do id do elemento. Ele especifica a relação entre o resultado do cálculo, e os elementos utilizados no cálculo.
Form recebe o valor do  id do formulário. Ele especifica uma ou mais formas no elemento de saída pertence.
Name especifica um nome para o elemento de saída.
Exemplo de Formulário
<!DOCTYPE>
<html lang="pt-BR">
            <head>
            </head>
            <body>
                        <form action="form.php" method="post">
                                    <label for="nome"> Nome: </label>
                                    <input type="text" id="nome"><br>
                                    <label for="idade"> Idade: </label>
                                    <input type="number" id="idade"><br>
                                    <label for="senha"> Senha: </label>
                                    <input type="password" id="senha"><br>
                        <fieldset>
                                    <legend> Sexo: </legend>
                                    <input type="radio" name="sexo" id="m">
                                    <label for="m"> Masculino </label><br>
                                    <input type="radio" name="sexo" id="f">
                                    <label for="m"> Feminino </label><br>
                        </fieldset>
                        <fieldset>
                                    <legend> Estado Civil: </legend>
                                    <input type="radio" name="ec" id="s">
                                    <label for="s"> Solteiro </label><br>
                                    <input type="radio" name="ec" id="c">
                                    <label for="c"> Casado </label><br>
                                    <input type="radio" name="ec" id="d">
           
                        </fieldset>
                        <fieldset>
                                    <legend> Preferências </legend>
                                    <input type="checkbox" name="cf" id="lasanha">
                                    <label for="lasanha"> Doce </label><br>
                                    <input type="checkbox" name="cf" id="macarrao">
                                    <label for="macarrao"> salgado </label><br>
                                    <input type="checkbox" name="cf" id="nhoqui">
                                    <label for="nhoqui"> sem gosto </label><br>
                                    <input type="checkbox" name="cf" id="arroz">
                                    <label for="arroz"> Agua </label><br>
                        </fieldset>
                                    <label for="arquivo">Escolha um Arquivo</label>
                                    <input type="file" id="arquivo">
                                    <label for="cor">Selecione uma cor</label>
                                    <input type="color" id="cor"><br>
                                    <label for="data">Selecione uma Data</label>
                                    <input type="date" id="data"><br>
                                    <label for="email">Email</label>
                                    <input type="email" id="email"><br>
                                    <label for="numero">Número</label>
                                    <input type="number" id="numero" max="11" min="2" step="2"><br>
                                    <label for="points">Points</label>
                                    <input type="range" id="points" min="1" max="6"><br>
                                    <label for="url">URL</label>
                                    <input type="url" id="url"><br>
                        <select id="navegadores" multiple>
                                    <option>Selecione uma Opção</option>
                                    <option value="SF">hoje</option>
                                    <option value="IE">Amanha</option>
                                    <option selected>Depois</option>
                        </section>
                        <label for="browsers">Browsers</label>
                                    <input="list_browsers" id="browsers">
                                    <datalist id="list_browsers" id="browsers">
                                                <option value="Internet Explorer">
                                                <option value=" Firefox">
                                                <option value=" Chrome">
                                                <option value=" Opera">
                                                <option value=" Safari">
                                    </datalist>

                                    <input type="submit" value="enviar">
                                    <input type="reset" id="Redefinir"><br>
                       
                       
            </body>
</html>