• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
Netgate Discussion Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login

Nginx "404 Not Found" Error after POST action to "$PORTAL_ACTION$"

Captive Portal
captive portal ngin php redirect
3
4
1.3k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E
    emad
    last edited by emad Aug 23, 2020, 10:17 PM Aug 23, 2020, 10:08 PM

    I have 3 files to handle users registration and login in my Captive Portal.

    • index.php: which detect if the user registered or not (if no it redirect the user to registration.php file / if yes it redirect the user to login.php file)
      plus it has a form that POSTing username and password
    <form class="login-form" method="post" action="login.php">
    <input name="user" type="text" class="form-input" placeholder="Username" required>
    <input name="pass" type="password" class="form-input" placeholder="password" required>
    <input name="accept" class="form-button" type="submit" value="Continue">
    
    • registration.php: which handle user registration.

    • login.php: which has the actual login form required by pfsense CP

    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
            $identity_username = $_POST["user"];
            $identity_password = $_POST["pass"];
    ?>
        <form method="post" action="$PORTAL_ACTION$">
            <input name="auth_user" type="text" value="<?php echo $identity_username ?>">
            <input name="auth_pass" type="password" value="<?php echo $identity_password ?>">
            <input name="redirurl" type="hidden" value="$PORTAL_REDIRURL$">
            <input name="zone" type="hidden" value="$PORTAL_ZONE$">
            <input name="accept" type="submit" value="Continue">
        </form>
    

    I write username/password in index.php form and click submit then in the next page which is http://<SERVER_IP>:8002/login.php I click Continue on the pre-filled form, I got 404 Not Found Error from Nginx and the URL be like http://<SERVER_IP>:8002/$PORTAL_ACTION$ I expect that CP will authenticate the username/password against FreeRadius but it's not the case as you see.
    So, do I miss knowledge with CP behavior or should I modify something?

    1 Reply Last reply Reply Quote 0
    • G
      Gertjan
      last edited by Gertjan Aug 24, 2020, 7:46 AM Aug 24, 2020, 7:14 AM

      Hi,

      @emad said in Nginx "404 Not Found" Error after POST action to "$PORTAL_ACTION%2quot;:

      So, do I miss knowledge with CP behavior or should I modify something?

      You might as well check (== read and understand what happens when and why etc) this file /usr/local/captiveportal/index.php
      It's the file that's get 'executed' when a users is redirected that the portal login interface.
      Read that file carefully - and also check this one : /etc/inc/captiveportal.inc which contains all the functions.

      For instance, you'll find why/where/when a string like $PORTAL_ACTION$ is replaced by the correct URL before getting send to the client.
      Throwing $PORTAL_ACTION$ at the client's web browser who throws it back to the captive portal web server will produce 404 errors.

      No "help me" PM's please. Use the forum, the community will thank you.
      Edit : and where are the logs ??

      C 1 Reply Last reply Oct 13, 2024, 9:04 AM Reply Quote 1
      • C
        chinraam @Gertjan
        last edited by Oct 13, 2024, 9:04 AM

        @Gertjan
        Hi, Im also facing the same issue. Can you please guide or let me know how to overcome?

        G 1 Reply Last reply Oct 15, 2024, 7:02 AM Reply Quote 0
        • G
          Gertjan @chinraam
          last edited by Oct 15, 2024, 7:02 AM

          @chinraam said in Nginx "404 Not Found" Error after POST action to "$PORTAL_ACTION%2quot;:

          Can you please guide or let me know how to overcome?

          I'm not modifying or editing any of the pfSense PHP files. So I have no issues neither errors.

          I can't do "self registration" as I'm not allowed (and not want to, neither maintain) ask for any private info like phone numbers or email addresses.

          No "help me" PM's please. Use the forum, the community will thank you.
          Edit : and where are the logs ??

          1 Reply Last reply Reply Quote 0
          • First post
            Last post
          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.