Pregunta

Tengo una aplicación basada en PHP en ejecución. El usuario inicia sesión, y realiza algunas acciones. Tengo un proxy inverso configurado para reenviar ciertas solicitudes solo para que sean manejadas por el servidor mochiweb, por ejemplo, cualquier URL de solicitud con mysite.com/mochiweb se enruta al servidor mochiweb.

Ahora, mi pregunta es ¿cómo autentico esta solicitud utilizando la información de la sesión entregada por PHP? Quiero que solo los usuarios que han iniciado sesión a través de la interfaz de PHP puedan acceder a los servicios del servidor web mochiweb. Cualquier solicitud extraviada directamente no debe ser servida.

¿Fue útil?

Solución

puede hacer que el servidor erlang envíe una solicitud http con dicha cookie de sesión al servidor php y que el servidor php regrese si la sesión es válida o no. por ejemplo aquí es cómo verifiqué el sitio a través de recaptcha

-module(ed_recaptcha).

-license("GPL3").

-export([verify/4]).

-define(RECAPTCHA_URL, "http://api-verify.recaptcha.net/verify").

verify(Private_Key, Remote_Ip, Challenge, Response) ->
    Body = list_to_binary(
             io_lib:format(
               "privatekey=~s&challenge=~s&response=~s&remoteip=~s",
               [Private_Key, Challenge, Response, Remote_Ip])),
    case http:request(post, {?RECAPTCHA_URL,
                             [], "application/x-www-form-urlencoded",
                             Body},
                      [{timeout, 30000}, {sync, false}],
                      []) of
        {ok, {_Status_line, _Headers, Response_Body}} ->
            verify_response(Response_Body)
    end.

verify_response("false\nincorrect-captcha-sol") ->
    {error, robot};
verify_response("false\ninvalid-request-cookie") ->
    {error, robot};
verify_response("true\nsuccess") ->
    {ok, not_robot}. 
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top