I don't speak PHP at all so be careful... :)

If you open a page with http://username:password(at)domain.com then
you should be able to access the username and password from PHP with:

{$_SERVER['PHP_AUTH_USER']}
{$_SERVER['PHP_AUTH_PW']}

After setting the login, I expect the feed reader to contact
http://username:password(at)boltwire.com/rss/blog. In the script you
should then be able to verify the login and transmit the feed or deny
access.

Source: http://www.php.net/manual/en/features.http-auth.php

Hope this helps!

Markus

On Sep 22, 3:50 pm, The Editor <[email protected]> wrote:
> That's very curious. I've never seen that syntax of doing
> username:password@ before the url. How do I tap into that information?
> Can it be done via php, or is it an apache thing?  Would it work to do
> something like:
>
> http://www.example.com/index.php?p=blog&password=123456789or something?
>
> I could write up a site.auth.rss which would allow certain pages to be
> viewed only with certain passwords embedded like this. But the other
> question is, what kind of error message should go back to an rss feed
> that was blocked. Do you have a sample of the syntax?
>
> Cheers,
> Dan
>
> P.S. I know I could do all this research myself, but very pressed for
> time. Any help you could give with this would save me a few minutes.
> Happy to code it. Just need the research.
>
>
>
> On Mon, Sep 21, 2009 at 3:09 PM, Markus <[email protected]> wrote:
>
> > On Sep 21, 8:35 pm, The Editor <[email protected]> wrote:
> >> How does that work? Do you put in a simple username/password
> >> unencrypted right in the url?  Easy enough to do. Perhaps you can do a
> >> bit of research and find out how it is normally done...
>
> > HTTP authentification seems to be the most straightforward and well
> > supported way to do this:
> >http://username:[email protected]/path/to/feed/
>
> > Of course, this can be combined with SSL but as most BoltWire sites
> > will not use encryption when you login via a browser...
>
> > Regards, Markus
>
> >> On Mon, Sep 21, 2009 at 2:13 PM, Markus <[email protected]> 
> >> wrote:
>
> >> > While we are at RSS... What about username + password protection of
> >> > feeds? I have a private site for which I would like to have a feed. Of
> >> > course, putting private pages to a public feed is not my intention.
> >> > Most feed readers seem to support authentication for feeds.
>
> >> > Regards, Markus
>
> >> > On Sep 21, 7:30 pm, Markus <[email protected]> wrote:
> >> >> On Sep 21, 4:13 pm, The Editor <[email protected]> wrote:
>
> >> >> > On Mon, Sep 21, 2009 at 8:19 AM, Markus 
> >> >> > <[email protected]> wrote:
>
> >> >> > > First, it's definitely the newest script version. Also the searches 
> >> >> > > I
> >> >> > > tried matched just two pages most of the time. The one I posted 
> >> >> > > above
> >> >> > > _should_ match around 20 or 25 at most. But read on...
>
> >> >> > Do you have your site fully indexed? It should affect the
> >> >> > group=parameter, but if you are trying to do text/data/link, etc,
> >> >> > indexing is essential.
>
> >> >> I have put [(index)] into my footer.
>
> >> >> > > Lesson 1:
> >> >> > > One important information for the solutions page is that RSS might 
> >> >> > > not
> >> >> > > work with MAMP or the like on your localhost. The same code that 
> >> >> > > gives
> >> >> > > at least some RSS output on my server ends with an internal server
> >> >> > > error when used with MAMP offline. As Dan pointed out, some tools
> >> >> > > might be missing.
>
> >> >> > Possible, but not necessarily. I got the recent server errors online
> >> >> > because something in my online configuration setup triggered a php bug
> >> >> > that was not triggered offline. Nothing to do with apache--though it
> >> >> > did a lousy job reporting the error. And even then windows and linux
> >> >> > work differently in certain situations, so it could be anything. If it
> >> >> > was a missing library, I would think you would get a message in your
> >> >> > php error log for calling an undefined function. Have you checked your
> >> >> > error logs?
>
> >> >> Sorry, I forgot to check the logs when you first mentioned it. Indeed,
> >> >> every page hit gives this entry in the MAMP PHP error log:
> >> >> [21-Sep-2009 16:43:09] PHP Notice:  Undefined index:  errors in /Users/
> >> >> m/Sites/boltwire/barn/scripts/engine.php on line 17
>
> >> >> > > Lesson 2:
> >> >> > > Even when action=rsslist shows exactly what you want to feed, it is 
> >> >> > > no
> >> >> > > guarantee that these pages will display in your RSS reader.
> >> >> > > Dan, if interested you can check out the following page with the 
> >> >> > > login
> >> >> > > I gave you:
> >> >> > > rss.listOKfeedNotOK (rsslist OK, feed broken)
>
> >> >> > This is very strange. The critical lines in the rssfeed function are 
> >> >> > these:
>
> >> >> >         $pages = BOLTsort(BOLTsearchPageList($args, $zone), $args); 
> >> >> > // add
> >> >> > third false for no auth checking
> >> >> >         if ($_GET['action'] == 'rsslist') return BOLTdisplay($pages, 
> >> >> > $args);
>
> >> >> > You'll notice the action=rsslist option uses the exact same array of
> >> >> > pages  used later by the script to generate the rss feed. So unless
> >> >> > somehow one or the other cancels out some pages for some reason, their
> >> >> > output should be the same...  I'm not denying it, just seems strange.
> >> >> > Both start with exactly the same list of pages at least.
>
> >> >> > > Lesson 3:
> >> >> > > I might not notice when the page RSS was not saved correctly. I edit
> >> >> > > the page and save it. I get redirected to view the RSS page which is
> >> >> > > automatically opened in my feed reader. Since the RSS page is not
> >> >> > > displayed in the browser, the browser still displays the edit page
> >> >> > > from before. Any further edits using the "old" edit form won't be
> >> >> > > saved. Better remember which edit tabs you already used...
>
> >> >> > Yes, that could be a bit tricky.  :)  You could possibly try creating
> >> >> > a custom edit action like this: copy action.edit => action.rss.edit,
> >> >> > and add to the end of the form
>
> >> >> > [session nextpage {p}&action=source]
>
> >> >> > That way you should be able to check that what you saved is there now,
> >> >> > and get any messages you need. If it works, we could possibly add it
> >> >> > to the backup file.
>
> >> >> Yes, that works. Makes it much harder to use the same edit tab more
> >> >> than once.
>
> >> >> > > Lesson 4:
> >> >> > > It seems to be a misbelief that you can just put a search together
> >> >> > > that matches the pages you want to see in your feed, then change the
> >> >> > > function name to "rssfeed" and everything works. For example feeding
> >> >> > > all pages with a certain keyword does not seem to work. Dan, you can
> >> >> > > check:
> >> >> > > rss.keyword
>
> >> >> > This is true, but we could add that functionality perhaps.  And in
> >> >> > fact this could be our problem... This line in rss.php ~32 should be
> >> >> > changed from
>
> >> >> >         $pages = BOLTsort(BOLTsearchPageList($args, $zone), $args); 
> >> >> > // add
> >> >> > third false for no auth checking
>
> >> >> > to
>
> >> >> >         $pages = BOLTsearchPageList($args, $zone); // add third false 
> >> >> > for no
> >> >> > auth checking
>
> >> >> > The way it was written, with the new changes to the core search
> >> >> > function, the sort function gets called twice.
>
> >> >> Changing this line did not fix the feed. (It's enough to change
> >> >> rss.php in the plugins folder, right? As it seems not to be copied to
> >> >> the field.)
>
> >> >> > To try adding the other search criteria we need to replace that line
> >> >> > with this entire snippet (let me know if it works--we could polish
> >> >> > this up more nicely, and I'll update the script):
>
> >> >> >         global $outarray
> >> >> >         $outarray = BOLTsearchPageList($args, $zone); // add third 
> >> >> > false for
> >> >> > no auth checking
> >> >> >         if (isset($args['text'])) BOLTcheckNest1($args['text'], 
> >> >> > 'text', $args);
> >> >> >         if (isset($args['data'])) BOLTcheckNest1($args['data'], 
> >> >> > 'data', $args);
> >> >> >         if (isset($args['link'])) BOLTcheckNest1($args['link'], 
> >> >> > 'link', $args);
> >> >> >         $pages = $outarray;
>
> >> >> This breaks the whole field. But only if you don't notice the missing
> >> >> semi-colon in the first line. ;)
>
> >> >> This works! Just those pages containing the keyword are put to the
> >> >> feed. And "exclude" does its job too. Good work!
>
> >> >> > This would be cool because you could generate a rss feed of all the
> >> >> > pages that link to a page. IE, put /*[[rss]]*/ on a page and instantly
> >> >> > it gets added to your feed (with link=rss).
>
> >> >> Sounds incredibly useful and flexible!
>
> >> >> > > Some problems I reported might have been caused by my naive approach
> >> >> > > to start with some simple matching like this. From reading the
> >> >> > > solutions page I expected that "rssfeed" can be used with all the
> >> >> > > parameters of "search".
>
> >> >> > Let's see if we can't fix the code before we fix the docs.  :)
>
> >> >> Just in case... it was not meant to offend the editor of the docs. ;)
>
> >> >> > > Lesson 5:
> >> >> > > When using a page named "rss" (and not some lower hierarchy like
> >> >> > > rss.whatever), the following line is put into the edit field:
> >> >> > >http://www.domain.com/field/index.php?p=rss
> >> >> > > I think you won't see this when you use for example rss.blog. It 
> >> >> > > would
> >> >> > > be a non-issue if the solutions page did not specifically say that 
> >> >> > > you
> >> >> > > can use "rss" as the page name. :)
>
> >> >> > It should not do this anyway. And it just did it for me!  We have some
> >> >> > weird things going on here, Markus...  I'm very busy this week, but
> >> >> > I'll stick with you as best I can and try to work through it with you.
>
> >> >> > Another problem. I tried installing rss in a new field, didn't get it
> >> >> > to work, then uninstalled. Got a white screen. Traced it down to a
> >> >> > couple lines in engine.php that need to be rewritten:
>
> >> >> > ~1428 or so.
>
> >> >> >                 elseif ($pageArray[0] == 'rss') {
> >> >> >                         if (! isset($_GET['action']) && 
> >> >> > BOLTexists('code.skin.rss')) $skin
> >> >> > = 'code.skin.rss';
> >> >> >                         else $skin = BOLTgetlink($BOLTcodePages, 
> >> >> > 'skin');
> >> >> >                         }
>
> >> >> > This will return the normal skin if code.skin.rss doesn't exist rather
> >> >> > than a whole new skin.
>
> ...
>
> read more »
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"BoltWire" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/boltwire?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to