Securing your Sphider

You may have read before that I have suggested securing the Sphider admin directory with password protection. After all, you don’t want to take a chance of someone else gaining access and changing all of your settings… or worse!

But Sphider has a number of other directories within it. What about those? Well, MOST of them can also be password protected. The rule is, if files in the directory only need to be accessed by PHP, it can be password protected. If any file in a directory needs to be accessed by a web browser, it shouldn’t be password protected. For example, the templates directory should not be password protected. It contains css files, which the browser needs to display search forms and results properly. Js_suggest should not be password protected, It contains javascript which the browser needs to access. The tmp directory (not the one in admin) should not be password protected as the browser needs to be able to read and write there. Other than that, go ahead and add password protection.

Oh! One more thing. Add SSL. That is something that at one time was expensive and primarily used by sites like businesses with checkout pages and such. Today, SSL in some cases can be free. DreamHost offers “Let’s Encrypt SSL” for free. Then there are self-signed certificates, also free (but not as trustworthy). The advantage of SSL is that when you do need to enter user name/password to one of your password protected directories, it can’t be intercepted.

Typo in Sphider 2.2 install script

A typo has been discovered in ‘install.php’ for Sphider 2.2.0 (classic). This will affect those who have 1) already downloaded ‘sphider-2.2.0.zip’, and 2) are trying to do a clean install. Any downloads after right now already have the file corrected.

This does not warrant a new release, but simply instructions on how to fix the problem if you have it.

Line 23 currently has:

error_reporting(E_ALL0../settings”;

Change this to:

error_reporting(0);
$settings_dir = “../settings”;

This does NOT affect the PDO edition.

Sphider 2.2.0 released

Sphider 2.2.0 was released today in both the Classic and PDO editions.

There are currently no plans to release this update in PostgreSQL or SQLite editions. Those remain at 2.1.0. There seems to be little demand for these.

Sphider 2.2.0 has the search interface redesigned to be more mobile friendly. The code was rewritten to be more responsive to CSS instruction, made to detect the use of mobile browsers, and present a mobile friendly version of the standard template.

A minor security problem was also addressed, as well as the ability of the administrator to easily switch between the tabbed search (traditional, RSS, and image) and just the basic traditional text search.

—————-

There are plans for the next release (February 2019 ???) to expand this ability so that the administrator can pick and choose which search interfaces to present. If they want both traditional and image, but not RSS, they will be able to do so.

Also, the templates will be reworked so mobile browsers can experience friendly versions of ALL the templates.

World Space Flight website pages

The World Space Flight pages are anything BUT mobile friendly! That is a sad fact.

The good news is that that will be changing. The changes will be gradual, a few MAJOR changes coming first, followed by more general changes. The first big change which will be rolled out will involve the menus on the left side of practically every page.

As it is, you have to enlarge the area just to read it, much less actually click on something. America in Space already has the beginning of that change on MOST of the pages.

Once the menus have been adapted, then there will follow changes in the content layout. Be patient. Things will be getting better.

Sphider 2.2 is in the works

The subject(s) has come up recently about the use of html tables, css, and mobile browsers.

Looking at the Sphider search pages, there is room for improvement. So work has begun to alter the code to do away with html tables and expand the use of css. The result is that the appearance of the search page layouts using css is nearly identical to look using html tables.

The kick is, it makes it easier to customize the look from template to template. Even a new template has come about. Named “mobile”, it is much easier to see/use on a mobile device. The search page will also detect the use of a mobile and force the mobile template even when it is not the template set in the configuration and seen by anyone NOT on a mobile.

The changes have already been made and will now undergo a period of testing. Most likely, Sphider classic will see the new version first, with PDO a short time later. If this will also carry over to the PostgreSQL and SQLite variation has not yet been decided.

Core functionality will have no change. This new release will be for benefit of the user’s clients, the people who actually use the search feature.

*****************************************

To get an idea how the mobile template will work, first visit
https://www.worldspaceflight.com/sphider/search.php
with a desktop or laptop. Then visit the same link with a mobile device.

Feedback appreciated.

Sphider 2.1 released

It was found that all variations of Sphider 2.0.* had a flaw in the search capability. While earlier versions allowed wild card searches (*), or not contained searches (-), this ability was inadvertently blocked in 2.0! It seems the work to improve security and block undesirable searches went too far!

This is resolved in all variations of 2.1 – Classic, PDO, PostgreSQL, and SQLite.

Why I hate Microsoft

I have a number of computers. My main desktop machine runs Ubuntu (currently 18.04), but I have another desktop running Windows 7. I also have a newer laptop (which I don’t use much) with Windows 10. I also have an older laptop, which rarely even gets powered on anymore, with Linux Mint.

Well, I have always had nightmares with Windows update. It seems always to need to do something right when it is least convenient, and is problem prone. As a result, I just disable the service and update ONLY when it’s a) been awhile since the last time, and b) it’s a good time for me.

Today, both conditions were met. I re-enabled the Windows Update service and checked for updates. It took nearly half an hour and discovered there were 6 “needed” updates. One was the totally useless Malicious Software Removel Tool, which runs a long time and does nothing. I deep sixed that one that one and proceeded with the other 5. Another half hour went by as the system downloaded 5 updates. Time to install. It worked, and worked, and worked… said it needed to restart. Okay, fine. “Configuring updates”. “Configuring updates”. … You know how that goes. Finally, it’s been “configuring for another half hour and it has reached 98% complete. Then, the very thing I just KNEW was going to happen, did. “Windows was unable to configure updates. Reverting changes”. CRAP! But not the first time I’ve ever seen that happen!

Anyway, while all that was going on, I was over on my Ubuntu box. I use that one every day, so it is pretty up to date. I figured I would check anyway, so I did an “apt-get update”, and there was one for Linux firmware. I installed it… no reboot needed. I went online and made a few tweaks to another one of my web sites, did some surfing, worked a bit in Libre Office…. Meanwhile, back at the Windows ranch, the “reverting changes” was getting underway. I had to go to the bank, which I did. I was hungry, so I went to get something to eat. Got back home and decided to boot up the old Linux Mint laptop. It had been AT LEAST six months, so you can imagine. It needed a gazillion updates, which I proceed to do. It definitely took awhile (no idea how many updates were actually done), but they all completed without any issues. No reboots were needed. I found some outdated apps and updated them. My Libre Office was still at version 5, so I upgraded it. Took a phone call, went back on my Ubuntu machine and did a bit more work. Then I played with the cat for a bit. After three hours of “reverting changes”, Windows was ready.

So Microsoft Windows took between four and four and a half hours…. accomplishing ABSOLUTELY NOTHING!!!

I updated the Windows 10 laptop a couple nights ago, and that took a couple hours. Surprisingly, this time it actually worked.

After years of experience with Microsoft, beginning with DOS 2.11 up to now (I avoided 95/98/ME like the plague and was more into NT 3.51, 4.0, etc. – except Vista/8/8.1), and years with UNIX SYSTEM V, into Red Hat, and finally Ubuntu, I have learned this moral:

The quality of an operating system is inversely proportional to its cost.

Note that Ubuntu is free.

I compose this rant on Ubuntu.

Sphider demo

A demonstration of Sphider can now be experienced at the Sphider Home site demo page.

You can search the sites content and images, as well as a sample of an RSS feed.

You can play around with the Sphider admin console, although naturally you can’t commit the changes. Still, you get an idea of the look and feel of Sphider under the hood.

Sphider for WordPress

About three years ago, I attempted a port of Sphider to WordPress. What did result was buggy and incomplete. The Search tab on this blog actually contains a sample of what came out of the effort.

Among the MANY problems:
1. It gives more results that is really desired, making it pretty useless.
2. If the number of results goes beyond one page… well, it breaks if you try go to the next page!
3. Suggestions don’t even begin to work.
4. The effort was based on Sphider 1.5.1, and PHP has advanced since then. Now I can’t even get a screen to do a re-index if I wanted to.
5. It is VERY difficult to integrate into a WordPress theme.
6. There are other issues, but they don’t come to mind off hand.

So, in a nutshell, that attempted port was a dud. An laughable and unmitigated disaster might be a good way to describe it.

Now, Sphider seems to be stable (famous last words?), and I am often a glutton for punishment, so I am THINKING about trying again… kind of a Sphider for WordPress, Take 2, pre-alpha…

This would have to be thought out before actually doing anything, but these are my considerations so far:
1. History has taught that not all hosts provide the MySQLnd module for PHP. Therefore any future WordPress port would need to be based on the PDO Sphider. Version 2 supports PHP 7.1, so that would be the beginning basis.
2. WordPress uses its own class, the wpdb Class, to interact with the database. So code would need to be changed to use wpdb. That is a LOT of code… BUT… why would the spider part of Sphider need to use the wpdb class? Spidering (indexing) itself really doesn’t need to be integrated into WordPress, does it? All it is doing is populating the sphider database. So why couldn’t the spider and search functions of Sphider be separated? The only thing those two functions currently share with each other is the database connection. The current spider part could remain as is (with some modifications specific to WordPress page needs), and only the search function be rewritten to use the wpdb class (with its own database connection). Both functions would connect to the same database but in different manners.
3. Would a WordPress Sphider really need to use categories as used in Sphider? I am thinking not. So scratch that capability. I don’t think we need RSS feed indexing or image indexing, so those can also be cut. We are only concerned with a single site (the blog on which it would be installed), so more code simplification. This all reduces the size and complexity of spidering (indexing).
4. Perhaps embedded into the indexing function would be the elimination of looking it unnecessary places, like /wp-json, /category, /feed… This would reduce the size of the database and eliminated some of the redundant “finds” when a search is performed.
5. Naturally, the search function would eliminate RSS and image search functions and retain the keyword search.
6. Try to get the search page to more easily integrate with themes.
7. Get the multipage search returns to function, forward and backward, without producing an error.
8. Get suggestions to work.

Okay. Before I get in too deep…
1. Is there any real interest in a Sphider for WordPress?
2. Anything I’m missing in thinking ahead?
3. Anybody have any experience integrating content into WordPress themes? Care to share?

Feedback would be appreciated. In fact, without feedback, I may conclude the whole idea is more trouble than it’s worth.


UPDATE: So… I got brave and changed my theme. And the theme had the ability to add a Search widget. And playing around with this simple search, it seems to work just fine. Granted, it is just a simple search, not one with and/or or phrase options, but quite functional nonetheless. I have to imagine any decent theme can do the same thing. Unless there is really a big need for a Sphider for WordPress, I think I’ll save myself the trouble and pass. 🙂

Maintenance releases for Sphider

Sphider release 2.0.1 has some code cleanup and a jquery update.

PDO Sphider, Sphider for PostgreSQL, and Sphider for SQLite are at release 2.0.2. While these too have some code cleanup and jquery update, they are mainly to correct a few problems introduced by release 2.0.1!

No change to the functionality is involved in these releases. They are mainly to clean up a few messy items, although the PDO versions 2.0.1 did correct some problems with database error reporting. Those changes are included in 2.0.2.