Alojamento partilhado Windows Plesk26 de janeiro de 2023Por romain 1 min de leitura
Como posso resolver a perda de sessão no alojamento ASP?
Procédure
O que é uma sessão?
Em programação, uma sessão é um grupo de dados armazenados temporariamente no lado do servidor para uma utilização específica por um utilizador ligado.
As sessões são geralmente utilizadas para armazenar informações de identificação do utilizador, tais como um nome de utilizador ou ID de utilizador, bem como informações de estado da aplicação, tais como itens num cesto de compras online.
As sessões estão normalmente associadas a um identificador de sessão único que é armazenado no lado do cliente, normalmente sob a forma de um cookie, para permitir que o servidor recupere os dados de sessão adequados para cada pedido do utilizador.
Como posso resolver o problema das sessões no meu sítio?
O problema reside essencialmente nos elementos armazenados na RAM ao longo do tempo. Quando a RAM está saturada, o sistema inicia uma reinicialização que elimina os elementos armazenados e, por conseguinte, potencialmente as sessões no seu sítio. Isto pode explicar a razão pela qual um visitante pode encontrar-se desconectado enquanto visita o seu sítio.
Para o evitar, eis o procedimento a seguir:
1. Gerar uma chave em Machine Key
Para o fazer, aceda ao sítio MachineKey e clique no botão "GERAR".
Em seguida, copie o código gerado para um canto
2. Configurar o ficheiro web.config
Aceda à administração do seu Plesk a partir da gestão do seu serviço no painel LWS.
Uma vez no Plesk, seleccione "Websites e domínios" no menu da esquerda.
Na página que aparece, abra o menu pendente do seu domínio.
Clique em "Gestor de ficheiros".
No gestor de ficheiros, chegará à raiz do seu serviço, onde estão localizados os ficheiros do seu site. Veja se tem um ficheiro chamado web.config.
Se sim, vamos editá-lo, caso contrário, vamos criá-lo copiando todo o código que darei a seguir.
Neste ficheiro, cujo conteúdo é XML, vamos acrescentar o seguinte à secção:
Código
Ao nível da terceira linha que começa por "<machineKey", substitua toda esta linha por aquela que recuperou da Machine Key no passo 1.</p> <p> </p> <p>A partir do ficheiro base, que se encontra na raiz do seu serviço durante a entrega, eis o código que daria ao adicionar estas poucas linhas extra.</p> <p>Se não tinha o ficheiro web.config, crie-o copiando todo o código sem se esquecer de modificar a parte indicada acima referente ao código gerado pela Machine Key</p> <pre> <code class="language-xml"><?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <httpErrors> <remove statusCode="400" /> <error statusCode="400" path="D:\www\jetestuneformuleasp.site\error_docs\bad_request.html" /> <remove statusCode="401" /> <error statusCode="401" path="D:\www\jetestuneformuleasp.site\error_docs\unauthorized.html" /> <remove statusCode="403" /> <error statusCode="403" path="D:\www\jetestuneformuleasp.site\error_docs\forbidden.html" /> <remove statusCode="404" /> <error statusCode="404" path="D:\www\jetestuneformuleasp.site\error_docs\not_found.html" /> <remove statusCode="405" /> <error statusCode="405" path="D:\www\jetestuneformuleasp.site\error_docs\method_not_allowed.html" /> <remove statusCode="406" /> <error statusCode="406" path="D:\www\jetestuneformuleasp.site\error_docs\not_acceptable.html" /> <remove statusCode="407" /> <error statusCode="407" path="D:\www\jetestuneformuleasp.site\error_docs\proxy_authentication_required.html" /> <remove statusCode="412" /> <error statusCode="412" path="D:\www\jetestuneformuleasp.site\error_docs\precondition_failed.html" /> <remove statusCode="414" /> <error statusCode="414" path="D:\www\jetestuneformuleasp.site\error_docs\request-uri_too_long.html" /> <remove statusCode="415" /> <error statusCode="415" path="D:\www\jetestuneformuleasp.site\error_docs\unsupported_media_type.html" /> <remove statusCode="500" /> <error statusCode="500" path="D:\www\jetestuneformuleasp.site\error_docs\internal_server_error.html" /> <remove statusCode="501" /> <error statusCode="501" path="D:\www\jetestuneformuleasp.site\error_docs\not_implemented.html" /> <remove statusCode="502" /> <error statusCode="502" path="D:\www\jetestuneformuleasp.site\error_docs\bad_gateway.html" /> <remove statusCode="503" /> <error statusCode="503" path="D:\www\jetestuneformuleasp.site\error_docs\maintenance.html" /> </httpErrors> <tracing> <traceFailedRequests> <clear /> </traceFailedRequests> </tracing> </system.webServer> <system.web> <compilation tempDirectory="D:\www\jetestuneformuleasp.site\tmp" /> <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="false" timeout="20" /> <machineKey decryption="AES" validation="SHA1" decryptionKey="7ucKOvWBqXrsVMBl" validationKey="ZT6ikp0oQdfQT59F" /> </system.web> </configuration></code></pre> <p> </p> <p>Salve seu arquivo e você estará protegido contra o problema da sessão.</p>
Bonjour, j'ai effectivement un problème avec mes sessions sur mon hébergement pour un site [domaine masqué] , j'ai suivis votre article à la lettre cependant lorsque j'y ajoute la balise 'machineKey' j'obtient une erreur 500. Auriez-vous une solution ?
A✓
Aurelien-LWS Resposta oficial
31/07/2023
Bonjour,
Je vous remercie pour votre message.
Je me suis permis de me connecter à votre formule d'hébergement pour voir la présence de la balise machinekey.
Ne constatant pas la présence de cette balise, j'ai effectué son ajout comme indiqué dans cette documentation sur votre fichier web.config.
Je n'ai pas constaté d'erreur 500 après avoir effectué cet ajout. Aussi, je vous invite à vérifier le bon fonctionnement de votre site et la résolution de votre problème de session.
Il est important lors de l'ajout de cette balise de bien la mettre entre les balises <system.web> et </system.web>
Vous ne devez pas dupliquer ces balises si elles existent déjà dans votre fichier web.config, mais simplement ajouter la balise machinkey entre ces deux balises déjà existante.
La duplication des balises <system.web> peut être la cause de l'erreur 500 que vous avez obtenu en effectuant l'opération.
Cordialement, L'équipe LWS
Esta resposta foi útil?
Uma pergunta sobre este artigo?
Coloque-a à equipa LWS e à comunidade. A resposta é publicada após moderação.
Fazer uma pergunta à equipa do LWS e à sua comunidade
!
Para ativar este formulário, assinale as duas caixas de consentimento abaixo.