[geeklog-users] Avoid hardcoding http protocol in {site_url}

Tony Bibbs tony at tonybibbs.com
Tue Feb 17 11:07:41 EST 2004


Just send the effected file(s) or relative .patch to 
geeklog-devtalk at lists.geeklog.net.  We'll reveiw anything you have and 
move from there.

Thanks,

--Tony

Drago Goricanec wrote:
> Actually, the protocol and the base are two different issues. I added the base
> so that I wouldn't have to rewrite image URLs that are referenced by the story
> (they're stored in the database with the protocol). Also, I wanted links to my
> local site to match the protocol that was currently in use. They could all be
> dynamically rewritten. Perhaps rather than storing the full URL, there could be
> a [site_url] prefix that was stored in the link or article and rewritten when
> the pages are generated. It would also make it easier to move the site to
> another URL.
> 
> The protocol stuff was as clean as adding this line to my config.php:
> 
> $_CONF['site_url'] = ($_SERVER['SERVER_PORT'] == 443 ? 'https:' : 'http:') .
> "//www.example.com/";
> 
> What is the method of submitting patches to the development team?
> 
> Drago
> 
> Quoting Tony Bibbs <tony at tonybibbs.com>:
> 
> 
>>I personally wouldn't like this because I know some proxy servers that 
>>pass web traffic to web servers behind it end up making the relative 
>>pathing a problem.  Geeklog needs to make clear (and clean) support of 
>>SSL for all admin functions.  The base is there we just need to change 
>>the code to allow for https for admin stuff.  It maybe as simple as 
>>adding a $_CONF['admin_protocol'] variable that can be either http or 
>>https.  Then we could dynamically generate the https for the admin side. 
>>  We should also make a similar change to the public login page.
>>
>>Oh, hope the proxy server thing makes sense. We have a configuration 
>>here at work like that and it reaks havoc if you don't use absolute 
>>paths (nor just for our PHP apps but our Java and ASP/.NET apps as well.
>>
>>--Tony
>>
>>Drago Goricanec wrote:
>>
>>>I modified geeklog code to detect whether http or https was used to
>>
>>connect, and
>>
>>>then write all URLs using the resulting protocol. The reason is that I
>>
>>didn't
>>
>>>want to leave either my password, or my weblog information on a computer
>>
>>or
>>
>>>network that I didn't trust (when administering the site), but I didn't
>>
>>want
>>
>>>all users to be forced to use https.
>>>
>>>Current code uses $_CONF['site_url'] for all URL references. If 'http:' is
>>>hardcoded here, then even if the connection is over 'https', all references
>>
>>to
>>
>>>images and links within the site remain 'http'.
>>>
>>>I changed all URL references to my geeklog site to be relative to
>>
>>{site_url}
>>
>>>(i.e., {site_url} doesn't appear in any of the templates). I changed the
>>
>>layout
>>
>>>header to emit <base href="{site_url}/">. {site_url} still exists, but it
>>
>>is
>>
>>>dynamically created based on the protocol used to connect (http or https)
>>
>>with
>>
>>>a path to the weblog. Trailing '/' is omitted. All other URLs, such as
>>>{site_admin_url} are relative to {site_url}. Even images in stories are
>>
>>stored
>>
>>>with a relative URL. 
>>>
>>>I also added a secure/normal login link to switch between http and https
>>
>>just
>>
>>>below the login form.
>>>
>>>Would others be interested in this change? I can provide a patch against
>>
>>the
>>
>>>latest source. What is the process of submitting such patches?
>>>
>>>Drago
>>>_______________________________________________
>>>geeklog-users mailing list
>>>geeklog-users at lists.geeklog.net
>>>http://lists.geeklog.net/listinfo/geeklog-users
>>
>>
>>_______________________________________________
>>geeklog-users mailing list
>>geeklog-users at lists.geeklog.net
>>http://lists.geeklog.net/listinfo/geeklog-users
>>
> 
> 
> _______________________________________________
> geeklog-users mailing list
> geeklog-users at lists.geeklog.net
> http://lists.geeklog.net/listinfo/geeklog-users



More information about the geeklog-users mailing list