Frage

Ich habe eine PHP-basierte Anwendung ausgeführt. Die Benutzer-Logins und hat einige Aktionen. Ich habe einen Reverse-Proxy allein bestimmte Anfragen weiterleiten eingerichtet vom mochiweb Server abgewickelt werden - zum Beispiel jede Anfrage-URL mit mysite.com/mochiweb wird zum mochiweb Server weitergeleitet.

Nun ist meine Frage wie authentifiziere ich diese Anfrage von PHP mit den Sitzungsinformationen übergeben? Ich möchte nur die Benutzer, die in dem PHP-Frontend angemeldet haben, um die Dienste des mochiweb Webserver zuzugreifen. Jegliche Streu Anfragen direkt nicht bedient werden.

War es hilfreich?

Lösung

könnten Sie die erlang-Server eine HTTP-Anforderung senden mit der Sitzungs-Cookie an den PHP-Server und haben die PHP-Server zurück, wenn Session gültig ist oder nicht. hier zum Beispiel ist, wie ich Site über recaptcha verifiziert

-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}. 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top