Results 1 to 10 of 10

Thread: PHP and SSL

  1. #1
    Join Date
    Aug 2002
    Posts
    35

    PHP and SSL

    Is there anyway to use relative addressing and specify that a page needs to be loaded via SSL?

    Or do you always have to use absolute addressing (e.g. "https://www.foo.com/foo.php")?

    --Bruce

  2. #2
    Good question, i've been wondering the same .

  3. #3
    Join Date
    May 2002
    Location
    Edmonton, Canada
    Posts
    978
    Use .htaccess on a directory, domain, or subdomain and set a rewrite condition forcing all http:// to https://

    -Matt
    Matt Meier, RackNine Inc.
    email: mmeier@racknine.com
    web: http://www.racknine.com

  4. #4
    Join Date
    May 2002
    Location
    Edmonton, Canada
    Posts
    978
    Or - if you desire - track the port the user's connecting to($_SERVER['SERVER_PORT']) and if 80 do a header('location: ...'); pointing to https.

    -Matt
    Matt Meier, RackNine Inc.
    email: mmeier@racknine.com
    web: http://www.racknine.com

  5. #5
    Hmm, are there any other ways?

  6. #6
    Join Date
    Aug 2002
    Posts
    35
    RackNine,

    Could you post an example please?

    --Bruce

  7. #7
    What he's saying is

    PHP Code:
    <?php
    if($_SERVER['SERVER_PORT'] == "80")
    {
    header('location: [url]https://domain.com[/url]');
    exit;
    }
    ?>
    Which is pretty much still a "force push" as you have to point it to either https://domain.com, or https://www.domain, instead of it pushing from the current location of the user ie user is at http://domain.com, script pushes him to https://www.domain.com ;o).

  8. #8
    Join Date
    Aug 2002
    Posts
    35
    Thanks for the example, but I was really asking for an example of the .htaccess mrthod.

    I understand the header(location: xxx) method, but I was asking about sending the user to https via a call to a page relative to the current page, without having to specify the complete URL.

    --Bruce

  9. #9
    Join Date
    Jan 2002
    Location
    Kuwait
    Posts
    679
    There is no way to do that using HTML. You either use JavaScript or a server side solution (PHP, CGI, mod_rewrite, ASP, ..)
    Ahmad Alhashemi
    PHP, Apache, C, Python, Perl, SQL
    18 related BrainBench certificates

  10. #10
    Join Date
    Oct 2001
    Posts
    315
    With PHP:

    PHP Code:
    if($_SERVER['SERVER_PORT'] != "443") {
        
    $newURL "https://" $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_URL'];
        
    header("location: $newURL");
        exit;
    }
    ?> 
    With mod_rewrite... tested in .htaccess:
    Code:
    RewriteEngine On 
    RewriteCond %{SERVER_PORT} !^443$ 
    RewriteRule ^(.*)         https://%{SERVER_NAME}/$1 [R]
    Adam
    GetWebSpace.com
    Personal Life Timed Out Due To Inactivity

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •