Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Dificuldades primárias
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  11 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Rafael O. Bueno  
View profile   Translate to Translated (View Original)
 More options Jun 18 2012, 11:40 pm
From: "Rafael O. Bueno" <rafacuritiba...@gmail.com>
Date: Mon, 18 Jun 2012 20:40:20 -0700 (PDT)
Local: Mon, Jun 18 2012 11:40 pm
Subject: Dificuldades primárias

Olá gente, como é muito fácil, "hehe" consegui instalar e configurar e
criar um servidor locar e testar tranquilamente.
Gostaria de saber como trabalharia em produção, segurança, etc. Trabalho
atualmente com php, um arquivo externo linkando o socket io é capaz de se
conectar ao servidor?
Até o momento só obtive sucesso com arquivos renderizados pelo servidor.

Obrigado!


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marcelo Wanderley  
View profile   Translate to Translated (View Original)
 More options Jun 20 2012, 7:43 am
From: Marcelo Wanderley <marcelo.de...@gmail.com>
Date: Wed, 20 Jun 2012 04:43:03 -0700 (PDT)
Local: Wed, Jun 20 2012 7:43 am
Subject: Re: Dificuldades primárias

Olá Rafael,

Você tem a mesma dúvida...

Segurança.

Ainda não li nada sobre este assunto com nodeJs.

Abraços.

On 18 jun, 23:40, "Rafael O. Bueno" <rafacuritiba...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mario Augusto Mania  
View profile   Translate to Translated (View Original)
 More options Jun 20 2012, 9:06 am
From: Mario Augusto Mania <mario.ma...@gmail.com>
Date: Wed, 20 Jun 2012 10:06:19 -0300
Local: Wed, Jun 20 2012 9:06 am
Subject: Re: [nodebr] Re: Dificuldades primárias

Bem, ai depende :)

Por exemplo, se a preocupação for DoS, uma simples uncaught exception
derruba sua app e ela nunca mais volta sem intervenção (ex, cluster,
supervisor, etc...).

Mario

Em 20 de junho de 2012 08:43, Marcelo Wanderley
<marcelo.de...@gmail.com>escreveu:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
André Caribé  
View profile   Translate to Translated (View Original)
 More options Jun 20 2012, 9:25 am
From: André Caribé <decocar...@gmail.com>
Date: Wed, 20 Jun 2012 10:25:54 -0300
Local: Wed, Jun 20 2012 9:25 am
Subject: Re: [nodebr] Re: Dificuldades primárias

É, temos poucas notícias sobre segurança, mas as falhas so irão aparecer
quando o Node popularizar.
A versão 0.6.17 corrigiu um vulnerabilidade -
http://blog.nodejs.org/2012/05/07/http-server-security-vulnerability-...

Para o desenvolvedor, por em quanto, a idéia é sempre utilizar funções
anônimas e tomar os mesmos cuidados que se tem com outras linguagens de
programação.

Em 20 de junho de 2012 10:06, Mario Augusto Mania
<mario.ma...@gmail.com>escreveu:

--
@andrecaribe +55 (71) 8711.5527
http://www.andrecaribe.com.br
http://lattes.cnpq.br/3541565181654143

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Luciano Ramalho  
View profile   Translate to Translated (View Original)
 More options Jun 20 2012, 10:20 am
From: Luciano Ramalho <luci...@ramalho.org>
Date: Wed, 20 Jun 2012 11:20:12 -0300
Local: Wed, Jun 20 2012 10:20 am
Subject: Re: [nodebr] Re: Dificuldades primárias
2012/6/20 André Caribé <decocar...@gmail.com>:

> Para o desenvolvedor, por em quanto, a idéia é sempre utilizar funções
> anônimas e tomar os mesmos cuidados que se tem com outras linguagens de
> programação.

De que forma o uso de funções anônimas ajuda na segurança?

[ ]s
Luciano

--
Luciano Ramalho
NOVO TWITTER: @ramalhoorg

Autor e instrutor dos cursos:
* Academia Python na Globalcode
--> http://python.globalcode.com.br

* Python para quem sabe Python nas Oficinas Turing
--> http://turing.com.br/ppqsp


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Luiz Henrique Coura  
View profile   Translate to Translated (View Original)
 More options Jun 20 2012, 10:43 am
From: Luiz Henrique Coura <luizco...@gmail.com>
Date: Wed, 20 Jun 2012 11:43:42 -0300
Local: Wed, Jun 20 2012 10:43 am
Subject: Re: [nodebr] Dificuldades primárias

Rafael,

Respondendo sua pergunta: é possível sim.

Tive essa mesma dúvida qd comecei a mexer com node.

Faça um teste simples. Estou anexando o exemplo q fiz aqui pra vc executar
aí na sua máquina. Nele eu executo o comando vmstat e jogo o resultado em
realtime para o browser, onde acesso um arquivo index.php.

index.php - coloque esse arquivo dentro do seu apache,nginx....
vmstat.js - coloque esse arquivo dentro de um path qualquer, por exemplo:
/tmp/vmstat
package.json - coloque esse arquivo dentro do mesmo path do vmstat.js:
/tmp/vmstat

Entre em /tmp/vmstat e instale as dependências:

$> cd /tmp/vmstat
$> npm install

Execute o servidor:

$> node vmstat.js

Abra seu browser e acesse o arquivo index.php (http:localhost/index.php).

Isso que te passei foi apenas uma prova de conceito, coisa bastante
simples, bem amadora....

Para ambiente de produção, sugiro:

- isolar serviços em servidores diferentes;
- utilizar proxy na frente do nodejs (apache, nginx, ...);
- utilizar CORS, pra controlar quem pode consumir seu serviço socket.io;
- particularmente, eu gosto de utilizar o forever para executar os serviços
node, mas existem outras alternativas.
- utilize algum banco de dados nosql, como redis, para controlar as
sessões, principalmente se vc estiver executando o serviço node em cluster.
- e claro! um servidor com todas características de segurança/otimizações
implementadas: firewall, tunning, ....

Luiz

2012/6/19 Rafael O. Bueno <rafacuritiba...@gmail.com>

  index.php
1K Download

  package.json
< 1K Download

  vmstat.js
1K Download

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
André Caribé  
View profile   Translate to Translated (View Original)
 More options Jun 20 2012, 11:28 am
From: André Caribé <decocar...@gmail.com>
Date: Wed, 20 Jun 2012 12:28:08 -0300
Local: Wed, Jun 20 2012 11:28 am
Subject: Re: [nodebr] Re: Dificuldades primárias

Na verdade eu deveria ter falado *closure*, não é?
Se uma função estiver no escopo global ela poderá ser chamada através do
console e até mesmo sobrescrita.
No exemplo 1 a função está aberta. No exemplo 2 ela é anônima e por tanto
só pode ser acessada dentro do escopo em que ela foi criada.

*Exemplo 1*
// Script:
function testSecurity() {
console.log('open function?');

}

// Console:
> testSecurity();

  * "open function?"*
> function testSecurity() { console.log('fuu'); }
> testSecurity();

   *"fuu"*

*Exemplo 2*
// Script:
(function () {
    var foo = function (param) {
        console.log(param);
    };
    foo('foo() dentro do escopo');

})();

foo('foo() fora do escopo');

// Console:
*"foo() dentro do escopo"*
Uncaught ReferenceError: foo is not defined (anonymous function) >
foo('mais um teste');
ReferenceError: foo is not defined

Em 20 de junho de 2012 11:20, Luciano Ramalho <luci...@ramalho.org>escreveu:

--
@andrecaribe +55 (71) 8711.5527
http://www.andrecaribe.com.br
http://lattes.cnpq.br/3541565181654143

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Luciano Ramalho  
View profile   Translate to Translated (View Original)
 More options Jun 20 2012, 4:05 pm
From: Luciano Ramalho <luci...@ramalho.org>
Date: Wed, 20 Jun 2012 17:05:24 -0300
Local: Wed, Jun 20 2012 4:05 pm
Subject: Re: [nodebr] Re: Dificuldades primárias
2012/6/20 André Caribé <decocar...@gmail.com>:

É por aí, André. Infelizmente existem muitos mitos e confusões ligadas
ao tema das funções em JavaScript.

A questão não tem nada a ver com o fato de a função ser anônima ou ter
nome, e sim com a forma de sua declaração, se ela é declarada com a
instrução function (function statement) ou na forma de uma expressão
função. Acontece que muitas pessoas confundem "função anônima" com
"expressão função".

Veja estes exemplos:

(function bloco () {
  function f (arg) {
          console.log(arg);
  };
  var g = function (arg) {
           console.log(arg);
  };
  var h = function hugo (arg) {
           console.log(arg);
  };

});

f('bla');

A função f foi declarada em uma instrução function. Essa instrução
"iça" a função para o escopo global (em inglês: içar == hoist), e ela
pode ser acessada fora do bloco, como vemos na última linha.

As funções g e h foram declarada em expressões. Nestes casos não
acontece o içamento (hoisting) e as funções g e h só podem ser
acessada no escopo local da função bloco. Note que a função h não é
uma função anônima, ela se chama hugo (isso é útil para depuração;
especialmente se a função chamada hugo for vinculada a uma variável de
mesmo nome ;-).

Finalmente, a função bloco é uma função com nome (ela se chama bloco)
mas foi definida em uma expressão (este é o motivo de usar parêntesis
em torno da definição da função; sem os parêntesis seria uma instrução
function).

Resumindo, o içamento para o escopo global acontece sempre que a
função é definida em uma instrução function, e nunca quando ela é
definida em uma expressão, independente de ser ou não uma função
anônima. É por causa dessa confusão com a instrução function que o
Douglas Crockford recomenda nunca usar esta forma, mas sempre definir
funções em expressões.

[ ]s
Luciano

--
Luciano Ramalho
NOVO TWITTER: @ramalhoorg

Autor e instrutor dos cursos:
* Academia Python na Globalcode
--> http://python.globalcode.com.br

* Python para quem sabe Python nas Oficinas Turing
--> http://turing.com.br/ppqsp


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Rafael O. Bueno  
View profile   Translate to Translated (View Original)
 More options Jun 20 2012, 7:47 pm
From: "Rafael O. Bueno" <rafacuritiba...@gmail.com>
Date: Wed, 20 Jun 2012 20:47:48 -0300
Local: Wed, Jun 20 2012 7:47 pm
Subject: Re: [nodebr] Re: Dificuldades primárias

Puxa... muito obrigado a todos, pelos esclarecimentos e exemplos, vou
seguir em frente e fazer meus testes, se tiverem mais dicas preciosas como
essas... MUITO OBRIGADO GENTE, já me alegra de ver uma comunidade ativa
assim!

Abraços!

Em 20 de junho de 2012 17:05, Luciano Ramalho <luci...@ramalho.org>escreveu:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
André Caribé  
View profile   Translate to Translated (View Original)
 More options Jun 20 2012, 8:49 pm
From: André Caribé <decocar...@gmail.com>
Date: Wed, 20 Jun 2012 21:49:50 -0300
Local: Wed, Jun 20 2012 8:49 pm
Subject: Re: [nodebr] Re: Dificuldades primárias

Muito esclarecedora sua explicação Luciano, muito obrigado! :)

Em 20 de junho de 2012 20:47, Rafael O. Bueno
<rafacuritiba...@gmail.com>escreveu:

--
@andrecaribe +55 (71) 8711.5527
http://www.andrecaribe.com.br
http://lattes.cnpq.br/3541565181654143

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Alan Hoffmeister  
View profile   Translate to Translated (View Original)
 More options Jun 21 2012, 9:23 am
From: Alan Hoffmeister <alanhoffmeis...@gmail.com>
Date: Thu, 21 Jun 2012 10:23:57 -0300
Local: Thurs, Jun 21 2012 9:23 am
Subject: Re: [nodebr] Re: Dificuldades primárias
Eu acho que os cuidados são os mesmos do que outras linguagem,
principalmente a validação dos user inputs. As únicas coisas a
acrescentar é o gerenciamento do processo que como já foi falado antes
se o seu processo morrer por um erro grave ou qualquer outra coisa,
ele não volta sozinho, e o tratamento de dados jogados na memória, por
exemplo:

var user = new Array;
setInterval(function(){
    user.push('Hit!');

});

Uma hora ou outra o processo vai quebrar e o seu site estará fora do ar.

--
Att,
Alan Hoffmeister

Em 20 de junho de 2012 21:49, André Caribé <decocar...@gmail.com> escreveu:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »