« first day (1118 days earlier)      last day (2953 days later) » 

01:07
Como proceder quando o autor da pergunta usa o método errado e o usuário que posta resposta incentiva a continuar da maneira errada? pt.stackoverflow.com/questions/174776/…
01:28
@lvcs vc não especificou o motivo de gravar o valor no banco como DOUBLE ou FLOAT ao invés de DECIMAL, e mesmo assim tem que avaliar o contexto da pergunta, e a pergunta esta mau elaborada, e o Virgilio Novic tinha acabado de responder. No meu ponto de vista bastava um comentário apontando o erro na resposta, mas cada um tem seus critérios para julgar e dar -1, não vou descordar de vc neste ponto.
Sendo assim, se eu estivesse em seu lugar, eu postaria uma resposta mostrando os erros e a solução para aquele erro, tanto citando o conteúdo da pergunta como o da resposta do Virgilio.
01:42
@gato não foi apontando que double ou float é melhor que decimal, o autor da resposta mudou isso depois do comentário. Não postei uma resposta pois estou no telefone e é um saco editar nisso aqui kk normalmente quando vejo que a resposta está errada eu dou -1 e aviso, até o cara mudar a resposta, mas reação como essa eu nunca vi, pois isso avisei também o autor da pergunta.
por isso avisei*
02:18
Outra dúvida, quando uma pergunta recebe muitos comentários de membros ajudando e cada um ajudando numa parte, pois há mais de uma parte errada na pergunta, e no fim com esses comentários a pergunta é solucionada. A pergunta fica sem resposta? Por ter sido respondida ali mesmo nos comentários por um grupo de membros?
02:36
0
Q: Modificar método de login para usuário e senha

WilkerAtualmente utilizo o facebook como método de login. Gostaria de saber se é possível alterar para logar utilizando email e senha. Sei que é possível adicionar novos métodos nesta página, no entanto não achei nada relacionado a adição de email e senha.

 
6 hours later…
08:12
@Bacco essa piada dá sogra é do ano passado, tá velha já (a piada)
08:24
bons dias :)
 
1 hour later…
10:09
Bom dia Galerinha
Bom dia
Tem uma medalha de prata chamada Necromante
Respondeu uma pergunta com mais de 60 dias e 5 ou mais pontos
Daí eu respondi essa pergunta aqui:
2
A: Ajax Synchronous XMLHttpRequest

ZooboomafooVocê tem que fazer um Callback. O código não espera o Ajax terminar, é assíncrono. Seria assim: var o = 0; $.ajax({ url : url, dataType : "json", async : false, success : function(data){ $.each(data, function(i,v){ if(g == v.k){ o = v.u; ...

bom diaa
E não ganhei a medalha. É algum bug ou eu não atingi o objetivo da medalha ? O que eu entendi é que se eu responder uma pergunta que tenha sido feita há 60 dias eu ganho a medalha. E essa faz mais de 1 ano.
@Zooboomafoo 5 pontos, você só tem dois
Haaaa
Verdade. Tem um e na frase.
10:27
@Bacco sobrevivi ao q?
10:41
bom dia
bom dia a todos :)
@Omni nossa isso são muitas férias, que categoria! Aqui é ao contrário, anda tudo a fazer horas extra.
@Math sobreiviveu à virada do ano
@Zooboomafoo "cinco ou mais pontos", tá com 3
@Bacco a passagem aumentou ai na sua cidade?
Cara, estou abismado!
@WallaceMaxters foi igual a do ano passado, fogos, pessoal na rua. :P
@Bacco passagem de ônibus :\
10:55
Passagem de ônibus...
@WallaceMaxters aqui nao tem onibus, a cidade tem 3000 habitantes :)
@Bacco é que a passagem de ônibus aqui aumentou um preço absurdo!
Na minha cidade é 3,60
De 3,85 foi para 4,20. Geralmente, aumenta 15 centavos, dessa vez aumentaram 55 centavos!
em SP congelaram a 3,80
@Zooboomafoo leu o lance dos 5 pontos que eu comentei?
10:56
O metrô em SP é 3,80. Mas 3 milhões de pessoas ao dia usam o metrô. Muita grana...
@Bacco eu li.
@Zooboomafoo nao teve pula catraca esse ano? :P
Nem sei. Se em Piracicaba aumentar para 4 reais a passagem eu compro uma moto.
@Zooboomafoo mesmo em Pira, raramente eu pegava onibus. Só pro taquaral, claro
para quem usa Firefox, vale a pena ler :)
10:58
@Bacco Não mudou a tarifa comum, mas foi alterado demais tarifas, como integração e outros bilhetes
@Zooboomafoo muitas vezes eu ia pra carlos botelho a pé, e voltava a pé pro castelinho.
Deixa eu ir no banheiro vomitar, porque eu acessei o Facebook ....
@Bacco, é longe o trampo da minha casa. Trabalho na Av Independência...
Até minha casa são 8 Km mais ou menos
A cidade do cara não tem ônibus, ele programa em Harbour... O que mais falta?
@WallaceMaxters $
11:00
@Bacco dinheiro?
@Zooboomafoo eu tenho uma moto é muito 10, problema que aqui aonde eu moro faz as 4 estações do ano em um dia só kkk
@Zooboomafoo pra trabalhar nao dá, claro. Se bem que na B.O. eu ia a trabalho, mas nao tinha horário fixo. As vezes eu até ia de onibus pra não suar só, e voltava a pé. Pra Unimep ja nao tinha como evitar o onibus.
gumball era mais fácil de digitar que zooboomafoo
@WallaceMaxters aperta Tab quando digitar o @Z.
@WallaceMaxters mas @Zooboomafoo dá autocomplete de primeira, gumball concorria com o Guilherme e mais um tanto;
11:02
@Bacco pelo menos isso, né
@Bacco Unimep é perto de casa até...
é verdade, só tem um user com "Z"
@Zooboomafoo eu me arrependo de não ter alugado casa perto da Unimep, acho que ia ter sido mais feliz. Achava que mais perto do centro ia facilitar minha vida (e ate facilitou) mas se eu ficasse perto da Unimep seriam 3h de economia por dia no minimo.
@Bacco sim o/
@Bacco sim. Ônibus demora muito aqui as vezes, me irrita. Aqui onde eu trabalho por exemplo, que é muito movimentado, tem várias empresas, escritórios, passam 2 ônibus. 1 deles de 40 em 40 minutos. E o outro de 30 em 30, mas que vai para outro terminal. E eles passam 1 junto do outro praticamente. Se perder ou espera ou desce no outro ponto no Burger King onde passam mais ônibus...
11:06
0
Q: Call to undefined function ldap_connect()

Lucas MOtaBom dia pessoal, to com o seguinte problema rodando um código em produção. O servidor é um pouco antigo, roda o php 5 ainda. Em base local este erro foi corrigido liberando um complemento do xampp no php.ini agora em produção não há essa possibilidade. Tentei dar um apt-get install php5-ldap, mas...

"Algum anjo consegue me iluminar?" no final da pergunta. Quem se habilita?
@Bacco coloca uma asa de anjo no seu avatar :p
@Zooboomafoo isso eu sempre fiz piada aí, a semuttran pos todos os onibus em horario agrupado. é isso em todos os bairros
cansei de discutir com eles, mas é tudo cabeça dura. Mesmo os motoristas nao gostavam da organização, mas nao tinha o que fazer. Isso tem nome: Paulo Prates - ele é o responsável por uma das piores administrações de transporte público que eu conheço.
@Bacco quem é esse ?
Já vi. Secretário do Trânsito.
Haaa! Então, aconteceu uma coisa semana retrasada comigo que eu fiquei MUITO bravo.
@Zooboomafoo é da mesma cidade que o @Bacco?
@Zooboomafoo se nao me engano foi na admin dele que o Montana Grill ganhou aquela area de carga e descarga no lado errado da rua
sendo que a carga e descarga de verdade é na descida da rua.
Bom, preciso sair.
o/
@lvcs tive q ir dormir ontem desculpe por ñ te respondido de imediato. Nesses casos e bom elaborar uma resposta com base nos comentários, assim ajuda mais pessoas, tbm é importante referenciar os OPs que solucionaram a resposta nos comentários, mas se ñ me engano tem post no meta sobre isso.
11:12
Eu saio do trampo as 17Hs. O horário do ônibus que passa aqui e me leva para o terminal é 17:15Hs mais ou menos. E o horário do ônibus do terminal para minha casa é 17:30Hs. Eu chego no terminal por volta as 17:25, 26, 27...
Eu cheguei lá as 17:26hs, quando desci do ônibus, o outro saiu
@gato está com estilo hoje :p
Ele saiu as 17:27, sendo que o certo é as 17:30Hs
Fui lá reclamar. Adiantou ? Não sei.
5
Q: Botão de Clipboard - Copiar para Área de Transferência

ZooboomafooNão sei se alguém já perguntou isso aqui. Procurei, mas não encontrei. Em alguns sites que tem um bloco de código tem um botão de Copy to Clipboard no canto direito, esquerdo, superior ou inferior. As vezes o usuário posta uma pergunta com um bloco de código, principalmente HTML, CSS e JS, que ...

Cadê os Staffs ?
@WallaceMaxters haha
gato.meow;
@MagicHat bom dia o/
11:23
@gato ;)
@WallaceMaxters i love mr burns
@MagicHat kkkkkkk
@WallaceMaxters jessuis
tomi
Com o assim, jovi?
@MagicHat essa aí eu não manjo
@MagicHat a letra é sem noção, mas gosto bastante do riff da música Them Bones
assim eu me sinto em casa github.com/nikeee/visual-studio-dark
:D
@MagicHat já ouviu Metallica?
@WallaceMaxters orra manow que se tá pensando ? Losko a musica que entrei no meu casamento foi metalica
@MagicHat olha que legal a "fusão" que essa banda fez.
Só escutando pra você ver que louco
11:38
bom dia
@Math ta por ai?
@WallaceMaxters credo....hahahah
@Taisbevalle a resposta é depende
bigown_mode = on
@Taisbevalle Você percebe que eu falo mais abobrinhas aqui do que ajudo no chat, né. Embora a intenção do chat seja ajudar.
@Taisbevalle e nós ajudamos na verdade, quando é necessário.
Mas nada impede de rolar umas piadinhas aqui :p
@diegofm, acho que o chat vai ganhar um novo usuário
11:42
Dependendo da duvida, aqui nao é um bom lugar pra perguntar
@WallaceMaxters, concordo com você
@diegofm Sim, se for coisa de código, por exemplo, geralmente é ruim.
Por exemplo, eu estou afim de saber quem já usou o Net Core e como faço pra usar ele com o MYSQL....
Nem coisa do site, ontem perguntei algo a respeito das ferramentas de moderação no 10k, minha duvida se perdeu
@diegofm tudo depende :p
@gato obrigado por tirar a dúvida:)
11:48
@gato Gostei do theme, mas, infelizmente, o Highlight não ficou bom com .cshtml :/
a pergunta morreu, e o trecho ainda não foi traduzido
11
Q: Tradução da mensagem de aviso de levantado feito pelo Comunidade♦

diegofmRecentemente foi adicionada uma mensagem de aviso nas perguntas que o perfil bot Comunidade♦ "sobe" na página principal, porém, a mesma está em inglês: link do exemplo da imagem: Navegar entre telas

Acho que com estes votos, já pode traduzir ne? O mais votado foi a resposta do Math
Alguém me ajuda?
> ERROR: Notification [Install] Install failed (project: Example, package: SapientGuardian.EntityFrameworkCore.MySql v7.1.15)
Unsupported type: SharedFramework
@WallaceMaxters VS?
@Randrade Rider, o tal da Rashep (não sei se é assim que escreve) que você falou
@WallaceMaxters Não é bem o Resharper, mas entendi. kkkk
11:59
@Randrade queria que me ajudasse com uns termos aqui.
O que seria "build", "rebuild" e "clean" no "solution"?
@WallaceMaxters Nunca utilizei ele, mas você verificou se instalou as rependencias?
4
Q: O chat pode ser usado para tirar dúvidas não relacionadas às perguntas do SO?

DherikOlá, pessoal! Ás vezes, sinto vontade de trocar uma ideia sobre alguns assuntos que, muitas vezes, não se encaixariam tão bem em perguntar no Stack Overflow, por diferentes motivos: A pergunta pode ser rapidamente direcionada a outras, conforme as respostas Você tem uma ideia muito crua da dúv...

0
Q: Contador de notificações apresentando total inconsistente?

diegofmApós alcançar a reputação de 10mil, foram me apresentadas novas ferramentas de moderação, e agora a notificação parece contabilizar mais coisas, além de simplesmente edições sugeridas. Já li aqui no meta que esta marca de rep faz com que as notificações exibam o total de tudo que está na fila pen...

@WallaceMaxters Acho que não consigo explicar melhor que o Jon Skeet xD
@Metabot merece um puxão de orelha e um tapinha nas costas :p
@WallaceMaxters Mas se não entender, posso falar com minhas palavras (não sei se será mais simples de entender, mas tendo)
12:07
@Randrade e quanto ao "restore"? o que seria?
tipo para "desfazer uma cagada"?
@WallaceMaxters Não sei qual o nome exato que aparece aí, mas o restore que eu conheço é o Restore Nuget Package, ou seja, restaurar os pacotes do pojeto
@Randrade sim, mas "restaurar" como assim? Por que um pacote teria que ser restaurado? Por conta de alguma edição?
@WallaceMaxters Quando você utiliza um pacote em seu projeto ele está funcionando local. Porém, ao colocar no git ou alguma outra forma para compartilhar, é necessário restaurar os pacotes. Assim, a outra pessoa ou se você fizer um clone, deve baixar o pacote novamente
Nota: Isso não ocorre ao publicar o sistema
@Randrade puts! isso é "restaurar"? não sabia!
pergunta encerrada é aquelas que ssão fechadas e depois de um tempo mudam de "pendente" para "fechada"?
12:11
@Randrade Restaurar seria o mesmo que "instalar as dependências pré-definidas para um projeto"
@WallaceMaxters Ao menos no VS, sim. Agora no Rider eu não sei
@WallaceMaxters Correto
As versões mais novas do VS já fazem isso ao dar o primeiro Build no sistema
@Randrade Então eu estou sempre "restaurando" aqui no desenvolvimento, e não sabia disso. Usamos algumas dependências via Composer, porém os pacotes não vai, só os nomes deles.
@WallaceMaxters Exatamente, é a mesma coisa
@Randrade me explica outra coisa.
Tô vendo essa treta aqui:
        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });
Se eu quiser colocar novos controllers, preciso também configurar essa parada?
Ou automaticamente já funcionaria. Tipo "controller=Home" quer dizer que se controller não for informado, o default é Home?
@WallaceMaxters, o @Bacco mora perto da minha cidade.
12:19
@WallaceMaxters Não. Essa é a rota padrão, ou seja, a que ele procurará para ser a inicial do sistema (aquela que abre quando iniciar)
Para colocar novos controllers não precisa fazer nada. Agora, caso queira customizar, aí sim
@Randrade entendi.
Então, como eu tinha pensado, o argumento controller sempre vai pegar o nome do controller, e o argumento action sempre pega o método. Se não for especificado, pega index, se não for especificado controller, pega o home.
@WallaceMaxters Por exemplo, se quiser criar uma rota para a API, faço algo parecido com isso:
> app.UseMvc(routes =>
{
routes.MapRoute(
name: "rotaApi",
template: "Api/{controller=MinhaApi}/{action}/{id?}");
});
@Randrade saquei.
Corumbataí é um município do estado de São Paulo, no Brasil. Localiza-se a uma latitude 22º13'12" Sul e a uma longitude 47º37'33" Oeste, estando a uma altitude de 608 metros. Sua população estimada em 2014 era de 4 027 habitantes. Possui uma área de 278,1 km². == Topônimo == O nome do município foi dado em alusão ao rio Corumbataí, importante manancial de água que drena seu território. == História == Em 1821, o governador da província de São Paulo, Carlos Augusto Oeybhausen, concedeu, a Francisco da Costa Alves, uma concessão de terras: a sesmaria do rio Corumbataí, que veio a ser ocupa...
Assim, todo controller MinhaApi (se encontrar essa rota) irá colocar Api/ na frente
12:22
{controller=MinhaApi} indica o nome fallback?
@Randrade será que eu entendi o contrário? kkkkkk
@WallaceMaxters Você está setando que essa rota será somente para esse controller. Se deixar em branco ele tentará utilizar em todos
@Randrade mas a rota login é localhost:5000/Account/Login, e não tem nenhuma definição....
@WallaceMaxters por isso ela segue a padrão (NomeController/NomeAction)
@WallaceMaxters Olhe este exemplo
Veja se entende o que essa rota faz
@Randrade eu entendi o "defaults" perfeitamente, mas não entendi o {controller=Home}
Achei que {controller=Home} era como se fosse "Se o argumento controller não for passado, use HomeController"
@WallaceMaxters Que essa Rota estará válida somente para esse controller. Ou seja, os demais controller não utilizarão esta rota
12:27
@Randrade mas então como a rota Account/Login funciona, sendo que a que foi definida foi {controller=Home}?
Isso que quero entender...
A não ser que seja configuração interna...
vou criar um controller novo pra testar :p
@WallaceMaxters Não. Mesmo sem definir a rota, por padrão, existe essa rota para todos os controllers.
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action}/{id?}");
});
@Randrade @Randrade no meu não está assim!
        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });
@WallaceMaxters eu fiz isso serialize($qualquervalor); e o proprio PHP checa se tem valores invalidos, melhor que fazer uma função recursiva
Tem um "=Home" ali...
@WallaceMaxters ão estou falando que ela aparece no código, e sim que ela existe implicitamente
12:29
@Randrade Ah, sim. Então por padrão, o Framework define uma rota como "Controller/Método/Parametro" simplesmente pelo fato de um controller existir.
@Randrade é implícito...
@Randrade poderíamos chamar isso de um "automap de rotas"?
@WallaceMaxters Controller/Action/ID. Caso tenha mais parâmetros, ele fará como queryString no seguinte formato: Controller/Action?param1=value1&param2=value2. Se quiser definir para não aparecer o nome da queryString e ficar com uma URL amigável, deverá fazer uma rota para isso
@WallaceMaxters Não sei se esse é bem o nome, mas seria isso uma forma de explicar
@Randrade hahahahahahaha
@Randrade outra coisa: tem umas rotas com Task<IActionResult> e outras com IActionResult diretão. É uma boa ideia usar tudo como Task?
@WallaceMaxters Task é para trabalhar com async (requisições assíncronas).
@Randrade db, por exemplo?
@WallaceMaxters Também. Colocando isso você poderá trabalhar com async no que deseja. Um exemplo da Action seria assim:
public async Task<ActionResult> Indice()
{
Return View();
}
12:36
@Randrade tô vendo um layout bunitão do bootstrap por padrão... Onde fica definido que aquele template é o padrão para as views?
@WallaceMaxters Só lembrando que as formas de declarar que você está mostrando é do .NET Core.
@WallaceMaxters Views/Shared/_Layout.cshtml
@Randrade "RenderBody" é quem faz a mágica...
@WallaceMaxters Sim. Onde você adicioná-lo será o local que irá redenrizar as Views
@Randrade acho que eu já tinha perguntando pra você se tinha "slots" nas views do Razor, mas deixa pra lá. Depois mexo com isso, vou focar no controller (tô empolgadão)
@WallaceMaxters Acho que me lembro do que são os "slots". Isso é possível em partes, mas é algo que deve ser visto no contexto.
12:41
@Randrade a última dúvida: Vocês tinham falado pra usar "ViewData" ou "ViewBag", esqueci
O padrão aqui tá como ViewData
@WallaceMaxters Depende muito do que precisa. Eu particularmente utilizo ViewBag e TempData, dependendo do contexto
@Randrade vê se peguei certinho :p
using Microsoft.AspNetCore.Mvc;

namespace Example.Controllers
{
    public class TestController : Controller
    {
        public IActionResult Index(int? id)
        {
            ViewData["id"] = id;

            return View();
        }
    }
}
Consegui passar o ID para a view :p
@WallaceMaxters Sim, isso mesmo.
Aí quando acesso localhost:5000/Test/Index/8000, retorna "8000"
@Randrade se não tivesse a interrogação, daria erro ao não passar o ID?
@WallaceMaxters Sim. Ele fala que é necessário um parâmetro do tipo int
12:45
internet está um lixo
@Randrade vixe, aqui na verdade, ele sempre manda "0"
@WallaceMaxters Isso é algo do AspNetCore então
public IActionResult Index(int id = 5)
{
ViewData["id"] = id;

return View();
}
1
Q: Lidar com sinalizadores?

diegofmNa pagina relativa a privilegios de Acesso Às Ferramentas Do Moderador diz: Os usuários que não têm o privilégio de voto pelo encerramento podem pedir que sejam encerradas perguntas por meio de sinalização. Além disso, todos os usuários podem sinalizar respostas para solicitar sua exclu...

0
Q: Bloco de informação de quem postou está excedendo a largura

Daniel OmineNas perguntas e respostas, o bloco de informação sobre a pessoa que postou, em alguns casos o conteúdo ultrapassa a largura do bloco Lembro que houve algo similar a isso discutido aqui mas não sei como procurar para ver se é um assunto duplicado. No outro tópico que vi, meses atrás, parec...

@Randrade assim ficou o seguinte: Se passar letra ou não passar nada, sempre retorna 5. Se passar número, vai certinho.
12:47
@WallaceMaxters Você está definindo o id = 5 por padrão, se passar um id vai o id passado
@WallaceMaxters Isso é comum, até mesmo em métodos normais
@Randrade mas no caso se eu fizer "Test/Index/kkkkkk", ele retorna 5. porque "kkkkk" não é número.
@Randrade eu esperava que isso fosse tratado diferente :\
Alguma exceção monstro tipo "Wrong parameter type"
@WallaceMaxters o AspNetCore optou por não ter erro (não sei bem o motivo). No MVC 5 é lançado uma exception
Eu to perdido nessas ferramentas
Vo ter que floodar o meta de perguntas
@Randrade Será que é configurável?
Esse é o padrão do MVC 5
@WallaceMaxters Como está a sua rota mesmo?
12:53
        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });
@WallaceMaxters Provavelmente é sim. E talvez a resposta esteja nesta página
@Randrade da hora, tem a maneira de definir as rotas por anotation
@WallaceMaxters Sim, muito útil. Porém, pode virar um bicho de 7 cabeças dependendo da forma utilizada
@Randrade Com certeza. Aqui desenvolvemos de forma que o programador, olhando para rota, saiba quem é a view, o controller e o método (o css, o javascript e as imagens). uma vez ou outra, aparece um para sair do nosso padrão e quebrar nossas pernas.
@WallaceMaxters Isso é normal, ainda mais quando tem mais de 1 pessoa desenvolvendo
13:01
@Randrade É, mas aí eu falo na cabeça, até o cara aprender. Pois num projeto assim, qualquer coisa "fora do padrão" gera contra-tempos. E gera mesmo! Quando começamos a ter padrões, as coisas ficaram mais rápidas para todos.
@Randrade não precisa ser "padrões de projetos", precisa ter um padrão, uma organização.
@WallaceMaxters Sim
@Randrade puts, a configuração agora está num tal de "appsettings.json" :\
@WallaceMaxters Por isso que é muito complicado falar de padrões. Algo que para mim é ótimo, para você pode ser uma merd@
@WallaceMaxters Sim
@Randrade mas se tiver um comum acordo, mesmo que eu não goste do padrão, posso usá-lo para que o outro entenda direito o que eu estou fazendo.
@Randrade quero saber onde eu enfio esse arquivo ""DefaultConnection": "Data Source=Example.db""
@WallaceMaxters Na sua classe de conexão, que herda de DbContext
13:07
@Randrade pouts, criar sámerda na mão...
Isso me parece um problema fora do escopo do site, já que é relativo a instalação de update do windows. — diegofm 6 secs ago
-1
Q: Problemas com a instalação KB3206632 no Windows 10

LeoSei que a questão não é essencialmente de programação, mas como existe a TAG Windows e o problema interfere diretamente com meu trabalho com programação (no momento VBA/Excel), resolvi pedir ajuda aqui, mas se não for adequado eu excluo a pergunta. Eu não consegui resolver o problema que explico...

@diegofm vdd, mas e pena, estou com o mesmo problema :P (parecido va, com o rollup de Dezembro)
@Randrade sim não ficou legal para esses arquivos :/
@Omni aqui não deu problema, não sei se pelo fato que uso laptop. Você tambem usa pc?
@WallaceMaxters vc saberia me explicar para que serve a função session_id() e como ela é utilizada?
13:12
@diegofm sim PC de secretaria, Win Pro. tenho de confirmar se instalou correctamente no meu laptop em casa
@gato é o id da sessão atual. Um ID interno é criado para cada sessão, esse id se não me engano é o nome do arquivo. Ele é o cara que está no servidor com os dados guardados, enquanto o browser tem no cookie o mesmo nome dele. Assim, o PHP consegue fazer a ponte entre Browser e Servidor para pegar os dados da sessão.
@WallaceMaxters cada usuário tem o seu id?
@gato O certo seria "cada sessão", mas sim, é isso mesmo.
@WallaceMaxters vamos supor que eu queira guarda o nome dos usuario na sessão, então eu faria desta forma:
$_SESSION[session_id()]['nome'] = $nome;
0
Q: Como funciona a votação de exclusão de perguntas?

diegofmNo texto do privilégios com reputação de 10mil, diz: Exclusão de publicações Os usuários com este nível de reputação podem excluir perguntas encerradas com uma pontuação de -3 ou inferior. Porém, entrei em algumas perguntas que atendem a essas caracteristicas e não vi nada relativo ...

terceira pergunta
13:16
@Randrade tá tudo diferente! kkkkkkkkkk
ou eu posso fazer desta forma:
$_SESSION['nome'] = $nome;
@gato pera ai... você tá confundindo as coisas...
@gato a variável $_SESSION representa a sessão atual. Sendo assim, qualquer valor definido dentro de $_SESSION sempre será atribuído ao session_id atual·
@gato pode ser que alguém diga o contrário, mas eu não recomendaria "tacar" direto em _SESSION.
Se for para usuário, eu prefiro fazer: $_SESSION['usuario']['nome'] = 'Wallace'.
@gato se precisar apagar tudo, $_SESSION['usuario'] = null. Eu acho mais fácil fazer assim, posibilita colocar outras coisas na sessão sem confundir o meio de campo...
@WallaceMaxters Então saí se o usuário desabilitar os cookies do navegador nem a sessão irá funcionar?
poucas perguntas em java ultimamente
@lvcs Sim, se o cara desabilitar os cookies, a sessão não funciona.
@lvcs não que a sessão seja um cookie, mas ela usa um cookie.
13:21
@WallaceMaxters sim agora comecei a entender melhor :)
@gato pelo que pude entender funciona assim (eu tenho até uma classe, então dá pra explicar mais ou menos como funciona).
@WallaceMaxters caberia até umas perguntas sobre este assunto, mas estou meio sem tempo para elaborar
* Sessão é iniciada. Um ID é gerado. Session_Start é o cara que faz isso.
* O Cookie é criado, por padrão o cookie chama PHPSESSID
* Um arquivo é criado no servidor, com o nome do ID, que é gravado no cookie acima.
* Esse arquivo recebe os dados do `$_SESSION` que você gravou. O PHP usa internamente a função serialize/unserialize para gravar/recuperar os dados da sessão.
@gato olha a explicação.
@gato dessa forma esta bom, cada sessão (por exemplo em uma autenticação) já tem o seu proprio ID, isso $_SESSION[session_id()]['nome'] = $nome; não é necessário ;)
@gato esses arquivos são salvos dentro da pasta temporária no seu windows. Então, quando a sessão acaba (porque ela tem vida útil, para não ficar lá pra sempre), o mecanismo chamado CG deleta esse arquivo quando ele já não é mais útil.
@gato quando você assimilar bem essas paradas, me pergunte sobre o "session_regenerate_id" que eu te explico :p
13:28
@WallaceMaxters @GuilhermeNascimento esta começando a clarear ;D, vou praticar depois quando chegar em casa
obg \o/
@gato só não pode confundir a vida útil do cookie com a vida útil do arquivo da sessão. Realmente, é um ponto chato de explicar, mas se quiser aprofundar mais em questão de segurança e performance, podemos te explicar. Mas uma coisa de cada vez :p
@WallaceMaxters que tal esta frase "The fast and "sustainable" micro-framework" ?
@GuilhermeNascimento legal
c# reinando no chat
13:30
@diegofm estamos falando de PHP :\
Achei interessante, fiz uns testes aqui, no Opera, e constatei que com cookies desabilitados a sessão funciona. E em PHP pode-se usar ini_set('session.use_cookies', '0'); para não criar esse cookie de sessão, dado que em algum lugar(não lembro onde) já li que esse cookie contendo o ID da sessão pode facilitar invasão.
@lvcs Não é bem assim, mas a invasão acontece por causa do ID.
@WallaceMaxters valeu ;)
@lvcs viu acima como ocorre o processo?
Quem vai fazer eu ficar com 171.666? :D pt.stackoverflow.com/users/101/bigown
a reputação bem sem-vergonha :D
13:31
Então, o que acontece @lvcs. O Cookie tem o ID da sessão, certo? O problema é que, faz bem para aplicação, de tempo em tempo, você usar "session_regenerate_id" para criar um ID novo, num arquivo novo.
@bigown :D
Agora ninguém pode votar mais pra não estragar :D
@WallaceMaxters sim entendo, ainda sou novo no mundo WEB hehe
já estragou...
13:33
@lvcs se o cara expira o cookie, mas o arquivo continua no servidor, então o usuário pode usar a informação de um cookie antigo, mas que já expirou, pra conseguir a informação de uma sessão que foi considerada expirada.
ninguem aqui acima de 10k mexe nas ferramentas de moderador?
num é possivel kkkk
@diegofm O mais legal do site é conversar no chat, amigo :p
@diegofm Provavelmente, não
@diegofm Eu utilizo a fila de análise normal apenas
nossa :o
@lvcs e @gato eu fiz um curso onde o cara mostrava no vídeo que, ao usar uma extensão no firefox, o cara capturava um valor de um cookie, dava uma 'ressucitada' nele (já que tá do lado cliente e pode ser manipulado) e fazia uma sessão voltar.
13:36
@WallaceMaxters eh possível fazer isso para sequestrar a sessão de algum outro user?
@gato Se você estiver num computador compartilhado, como numa lan-house, pode acontecer. Por isso usar "regenerate_id" é importante.
@Randrade mas nunca teve curiosidade de entender aquelas "tranqueiras" todas da pagina? kkk
@gato outra solução seria aumentar o CG que deleta os arquivos não usados, mas poderia acarretar em excesso de consumos no servidor (já imaginou deletando arquvio pra lá e pra cá toda hora no disco)
@diegofm Não, para ser sincero quase não acesso aquela página
@diegofm eu uso o /tools e a fila, mas é uma vez por dia apenas :)
13:38
@gato logo, a solução mais plausível, na minha opinião, é aumentar o hash do ID da função e usar o regenerate id.
ah tem umas estatisticas legais la
@gato regenerar o ID da sessão antes de destruir, kkkkk, eu já fiz isso também.
@WallaceMaxters Entendo kk na última mensagem você falou o que eu tava tentando fazer aqui kk de recuperar uma sessão antiga alterando o cookie
@lvcs Na verdade, o problema todo está no ID. Pelo vídeo que eu assisti, dá pra recuperar, já que o arquivo está no servidor ainda.
@lvcs o problema não é a sessão destruída, e sim aqueles caras que fecham o browser do nada. Ele não clicou em logout, então o PHP não processou nada em relação ao cookie e a sessão.
@WallaceMaxters seria difícil fazer isso? Regenerar o ID
13:41
@gato não, é a coisa mais fácil.
@gato tem uma função que faz isso, chama Session_regenerate_id().
@gato se você passar um parâmetro true, ela deleta o arquivo com o ID antigo e cria um novo e registra esse novo valor no cookie. Assim, você pode evitar o roubo se fizer de 10 em 10 minutos.
Eu to muito curioso pra ver o que vai acontecer se essa resposta for apagada
-11
A: Criptografia de senhas em MD5?

Alan Nascimentopadrão MD5, no meu ver... É mais utilizado para senha ou outra informação secreta. Por exemplo se colocar senha como MD5, o administrador de Banco de dados não saberá a senha, somente o computador pois é gerado um código que o computador só ele entende. E também evita que alguns hacker cause dano...

@WallaceMaxters o padrão dos navegadores é deletar os cookies de sessão quando reinicia o navegador todo, mas se tiver a opção de restaurar abas os cookies não são apagados (ao menos na maioria das vezes que testei), resolvi isso com uma verificação de tempo da sessão sem atividade (podendo ser com sqllite, ou um txt ou até mesmo mysql)
@GuilhermeNascimento mas é isso mesmo, também resolve.
@GuilhermeNascimento Ou fazendo uma treta na própria sessão, calculando o tempo. Last activity
@WallaceMaxters esse é o que eu faço para evitar ele acessar, mas o "txt" da vida eu uso para outros usuários não verem uma pessoa online que não esta mais
@gato pensa comigo. Se você regenerar, o arquivo atual é deletado (se você colocar true no parâmetro), um novo é criado e os mesmos dados do antigo salvo no novo. Não há bad boy que ferre sua aplicação. É claro, você não deve usar session regenerate com true a cada requisição, senão você tá perdido, kkkkkkkk
13:45
Galera, vamos votar em uma das opções ai
12
Q: Tradução da mensagem de aviso de levantado feito pelo Comunidade♦

diegofmRecentemente foi adicionada uma mensagem de aviso nas perguntas que o perfil bot Comunidade♦ "sobe" na página principal, porém, a mesma está em inglês: link do exemplo da imagem: Navegar entre telas

tem 5 sugestoes de tradução
@WallaceMaxters seria interessante de hora/hora ou diario ocorrer automaticamente, assim impede o sequestro :)
@gato chora nesse código:
$_SESSION['ultima_regeneracao'] = time();
$_SESSION['usuario'] = ['nome' => 'Wallace'];


if ($_SESSION['ultima_regeneracao'] >= strtotime('-10 minutes')) {
    session_regenerate_id(true);
    $_SESSION['ultima_regeneracao'] = time();
}
@GuilhermeNascimento concorda com o código acima?
@WallaceMaxters mas se tiver muitos dados gravados na sessão, eu vou perder eles
@WallaceMaxters concordo ;), praticamente ctrl+c e ctrl+v pro meu framework
@gato Não vai, o PHP não deixa.
13:48
@WallaceMaxters ufa :D
@gato o session_regenerate_id regenera o ID, ele não apagada os Dados. Ele apenas transfere os dados da sessão atual para um ID novo.
ainda bem, vou ficar esperto com esta questão da sessao e do id
@WallaceMaxters agora entendi
@gato isso é legal até mesmo pra você fazer igual o Itaú faz... "Faltam 7 minutos pra sua sessão expirar"... Sempre quis fazer um sistema assim...
terminei o teste aqui, usando uma extensão para alterar cookies, sem usar session_regenerate_id() deu tranquilamente pra recuperar uma sessão antiga, e pra minha surpresa com o session_regenerate_id() também foi possível recuperar uma sessão antiga, por exemplo meu id de sessão era 1, daí com a regeneração passou a ser 2, mas se eu abrir e fechar o navegador e setar o cookie de id da sessão para 1 consigo pegar a sessão antiga ainda.
1
Q: Como funciona a votação de exclusão de perguntas?

diegofmNo texto do privilégios com reputação de 10mil, diz: Exclusão de publicações Os usuários com este nível de reputação podem excluir perguntas encerradas com uma pontuação de -3 ou inferior. Porém, entrei em algumas perguntas que atendem a essas caracteristicas e não vi nada relativo ...

13:50
banco do brasil tambem tem isso, acho que todos os bancos tem
@lvcs mas você leu o meu comentário sobre o parâmetro TRUE?
if ($_SESSION['ultima_regeneracao'] >= strtotime('-10 minutes')) {
    session_regenerate_id(true);
    $_SESSION['ultima_regeneracao'] = time();
}
@gato, @lvcs e @GuilhermeNascimento veja a descrição do manual:
 bool session_regenerate_id ([ bool $delete_old_session = false ] )
Acho que o nome do parâmetro é bem sugestivo :p
@lvcs se não colocar true, ele regenera, mas deixa o antigo...
@WallaceMaxters Sim, não tinha lido esse comentário, deve ter muito site por aí pecando nisso kk
@WallaceMaxters sempre me ensinando de PHP, por isso sempre me mantenho humilde e absorvo o que posso
Devo dizer que vc é um mestre, não do PHP, mas de aprender e aplicar as coisas em qualquer tecnologia, @WallaceMaxters parabéns :D
@GuilhermeNascimento a explicação do manual é que me deixa confuso :\
@GuilhermeNascimento valeu
> delete_old_session: Se o arquivo associado à sessão anterior deve ser excluído ou não. A sessão antiga não deve ser removida se for necessário evitar condições de corrida causadas pela remoção, ou se for necessário detectar/evitar ataques de roubo de sessão.
@GuilhermeNascimento eles estão falando que não precisa usar true para evitar ataques? é isso mesmo que eu li?
@WallaceMaxters estranho, se bem que a doc é comunitaria, pode ser uma GAFE
13:55
@GuilhermeNascimento parece que entendi...
Leia
eu mesmo já critiquei incoerências nos textos deles
> Os dados de sessões antigas não devem ser destruídos imediatamente; ao invés disso, deve ser usado timestamp para destruir a sessão e controlar o acesso aos dados de sessões antigas. Caso contrário, acessos concorrentes à página podem causar inconsistências, a perda da sessão, ou pode causar uma condição de corrida no navegador do usuário que faz com que vários IDs de sessão sejam criados desnecessariamente.
> A remoção imediata dos dados de sessão impossibilita a detecção de ataques de roubo de sessão, e também a prevenção.
@GuilhermeNascimento ou seja, acho que eles falaram que é pra fazer o código do jeito que eu fiz mesmo, kkkkkk. Acho que eles querem dizer: "não use o True toda hora"
Ou não... Na verdade tão falando pra fazer como você fez...
@WallaceMaxters se entendi, é assim, imagine multiplas páginas chamadas ao mesmo tempo com uma mesma sessão, se você usar o regerate com True vai causar falha na leitura, pois as outras paginas que esperavam o LOCK liberar vão tentar ler algo inexistente, ae dá merd XD
@GuilhermeNascimento Tipo um site todo com ajax, tô ligado :p

« first day (1118 days earlier)      last day (2953 days later) »