<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Web Professor &#187; Web Technologies</title>
	<atom:link href="http://web-professor.net/wp/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://web-professor.net/wp</link>
	<description>About programming for the web and online marketing. Helping others by creating tools for webmasters, search marketers, and seo&#039;s. Teaching others to program through php tutorials, c# tutorials, and other web programming tutorials and scripts.</description>
	<lastBuildDate>Fri, 01 Jul 2011 15:30:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Firefox Hack: Notes about site specific stylesheets</title>
		<link>http://web-professor.net/wp/2008/05/22/firefox-hack-notes-about-site-specific-stylesheets/</link>
		<comments>http://web-professor.net/wp/2008/05/22/firefox-hack-notes-about-site-specific-stylesheets/#comments</comments>
		<pubDate>Thu, 22 May 2008 17:54:09 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web Technologies]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[making your ugly site look good]]></category>

		<guid isPermaLink="false">http://web-professor.net/wp/?p=453</guid>
		<description><![CDATA[You can customize how sites appear by editing the usercontent.css file to apply a stylesheet rule to all websites. The UserContent.css file is located in your profile directory. How to find your profile directory By default the UserContent.css file is not installed. There is an example file located in the profile directory though. You can [...]]]></description>
			<content:encoded><![CDATA[<p>You can customize how sites appear by editing the usercontent.css file to apply a stylesheet rule to all websites. The UserContent.css file is located in your profile directory.</p>
<ul>
<li><a href="http://support.mozilla.com/en-US/kb/Profiles#How_to_find_your_profile"> How to find your profile directory</a></li>
</ul>
<p>By default the UserContent.css file is not installed. There is an example  file located in the  profile directory though.</p>
<p>You can make the css applicable to specific sites and urls by using the mozilla specific &#8220;@-moz-document&#8221; rule.</p>
<p>syntax (<a href="http://developer.mozilla.org/en/docs/CSS:@-moz-document">ref</a>):</p>
<pre>@-moz-document url(http://www.w3.org/),
                         url-prefix(http://www.w3.org/Style/),
                         domain(mozilla.org)
{
  /* CSS rules here apply to:
     + The page "http://www.w3.org/".
     + Any page whose URL begins with "http://www.w3.org/Style/"
     + Any page whose URL's host is "mozilla.org" or ends with
       ".mozilla.org"
   */

  /* make the above-mentioned pages really ugly */
  body { color: purple; background: yellow; }
}</pre>
<p>To prevent cluttering your UserContent.css file with lots of site specific css nested in @-moz-document statements you should use the @import rule. Create a style sheet for the particluar task you want to acheive and save it in the profile folder. Then add an @import rule to your UserContent.css file o use that stylesheet.</p>
<p>Note that you can not nest an &#8220;@import&#8221; inside a &#8220;@-moz-document&#8221; rule.</p>
<p>So this in your UserContent.css is wrong:</p>
<pre>@-moz-document domain(SomeSite.com) {
@import url(SomeSite.css);
}</pre>
<p>This means that you need to use the @-moz-document rule inside the imported stylesheet.</p>
<p>Example UserContent.css:</p>
<pre>@import url(SomeSite.css);</pre>
<p>Example SomeSite.css:</p>
<pre>@-moz-document domain(SomeSite.com) {
/* the css to customize the site */
background-color: pink;
}
</pre>
<p>Other things:</p>
<ul>
<li>To override rules that are inline on a page use the <a href="http://www.w3.org/TR/REC-CSS2/cascade.html#important-rules">!important attribute</a></li>
<li>To implement any changes you make need to restart Firefox after saving your stylesheet. <em>Someone needs to make a plug in to fix this</em>.</li>
</ul>
<p><strong>What can I use this for?</strong></p>
<p>I use it to:</p>
<ul>
<li>Highlight nofollow links</li>
<li>Apply standard theme to forums ( vbulletin and phpbb  themes are usually similar enough so you can use a standard css file to override a sites default theme)</li>
</ul>
<p><strong>Cool Ideas:</strong></p>
<ul>
<li>Host your UserContent.css imported files on your website&#8230; then you can easily make your preferences portable.</li>
<li>Have a service that saves peoples preferences online then they change their UserContent.css to pull from the service. They can log in to the service and add other popular style sheets on the fly. Write a plug in that edits their UserContent.css automatically to load the css from the service. <strong>If you make this give me a shout out! </strong>;-)</li>
</ul>
<img src="http://web-professor.net/wp/?ak_action=api_record_view&id=453&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://web-professor.net/wp/2008/05/22/firefox-hack-notes-about-site-specific-stylesheets/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>AJAX 99% Pointless</title>
		<link>http://web-professor.net/wp/2008/05/08/ajax-99-pointless/</link>
		<comments>http://web-professor.net/wp/2008/05/08/ajax-99-pointless/#comments</comments>
		<pubDate>Thu, 08 May 2008 18:50:41 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Web Technologies]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[developer porn]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://web-professor.net/wp/?p=433</guid>
		<description><![CDATA[AJAX&#8230; pointless&#8230; most web apps using it don&#8217;t need it. Its just the latest bit of technology porn for developers to masturbate to. Honestly are all those libraries needed to validate some forms? To make some single page desktop like app? The way I see it being used most of the time AJAX is crippling [...]]]></description>
			<content:encoded><![CDATA[<p>AJAX&#8230; pointless&#8230; most web apps using it don&#8217;t need it. Its just the latest bit of technology porn for developers to masturbate to. Honestly are all those libraries needed to validate some forms? To make some single page desktop like app? The way I see it being used most of the time AJAX is <span style="text-decoration: underline;"><strong>crippling</strong></span> the site.</p>
<p>How is a mobile browser going to deal with it? How is a blind user going to use it? How are the people that are still on dial up going to use it?</p>
<p>Their not&#8230;. their going to use the Craigslist-like sites.</p>
<p>Simple to the point web sites will always win.</p>
<img src="http://web-professor.net/wp/?ak_action=api_record_view&id=433&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://web-professor.net/wp/2008/05/08/ajax-99-pointless/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Improved PHP Template class from phpBB</title>
		<link>http://web-professor.net/wp/2008/01/31/improved-php-template-class-from-phpbb/</link>
		<comments>http://web-professor.net/wp/2008/01/31/improved-php-template-class-from-phpbb/#comments</comments>
		<pubDate>Thu, 31 Jan 2008 15:45:54 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Web Technologies]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpbb]]></category>
		<category><![CDATA[smarty really sux]]></category>
		<category><![CDATA[templates]]></category>

		<guid isPermaLink="false">http://web-professor.net/wp/2008/01/31/improved-php-template-class-from-phpbb/</guid>
		<description><![CDATA[I have been using template engines for year and years with php. I have tried a multitude of template engines and found most of them bloated especially Smarty. Seriously Smarty sucks.. one you start adding logic to your templates you have totally missed the point of having a template in the first place. If thats [...]]]></description>
			<content:encoded><![CDATA[<p>I have been using template engines for year and years with php. I have tried a multitude of template  engines and found most of them bloated especially Smarty. Seriously Smarty sucks.. one you start adding logic to your templates you have totally missed the point of having a template in the first place. If thats the route your going to go then just use php and includes for christ sakes, theres no need to invent a new programming language. Anyways I digress&#8230;</p>
<p>The one engine that I like the most is the template engine that shipped with <a href="http://www.phpbb.com/">phpBB 2</a>. Its simple and does the job. Apprently the guy who wrote it copied a lot from phplib so if you are familiar with that one you should be familiar with this one. The one thing that was missing from it was the ability to cache compiled templates.</p>
<p>I fixed that a long time ago and never bothered to share it. Â You can download the class <a href="http://web-professor.net/shared/code/php/Phpbb/Template.php.txt">here.</a></p>
<p>A few notes&#8230;</p>
<ul>
<li>The constructor takes arguments for where the cache directory is and whether or not your going to use caching.</li>
<li>The cache directory needs to be writable by the webserver</li>
<li>Along the way I updated it to use php 5 conventions.</li>
<li>Remember you can use any directory&#8230; it doesn&#8217;t have to be in the directory that gets served.</li>
</ul>
<img src="http://web-professor.net/wp/?ak_action=api_record_view&id=420&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://web-professor.net/wp/2008/01/31/improved-php-template-class-from-phpbb/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Five Things Google Mobile Needs To Fix</title>
		<link>http://web-professor.net/wp/2008/01/31/five-things-google-mobile-needs-to-fix/</link>
		<comments>http://web-professor.net/wp/2008/01/31/five-things-google-mobile-needs-to-fix/#comments</comments>
		<pubDate>Thu, 31 Jan 2008 15:07:43 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Web Technologies]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[phones]]></category>

		<guid isPermaLink="false">http://web-professor.net/wp/2008/01/31/five-things-google-mobile-needs-to-fix/</guid>
		<description><![CDATA[I love Google mobile. I really do! The google mobile page has become my homepage on my phone. That said there are a few simple nagging things they really need to fix. It would push them from good to great. I want to access maps directly from my Gmail account. I love Google Maps on [...]]]></description>
			<content:encoded><![CDATA[<p>I love Google mobile. I really do! The google mobile page has become my homepage on my phone. That said there are a few simple nagging things they really need to fix. It would push them from good to great.</p>
<ol>
<li>I want to access maps directly from my Gmail account. I love Google Maps on my mobile and I love Gmail on my mobile, can&#8217;t these two great tastes get together?</li>
<li>While we&#8217;re at it why the hell can&#8217;t send a map to my Google mobile profile? I can&#8217;t count the number of times I find something online, get the directions, then have to repeat the whole search on my phone if I want directions on the go.</li>
<li>Remember that little feature where you added a link to Google maps  on web pages everyone hated? We need that on mobile phones. Seriously if I am browsing on a PC I think its intrusive but if I am accessing on a mobile device it implies I am you know&#8230; &#8220;mobile&#8221;.</li>
<li>Refresh, Refresh, Refresh&#8230;. some pages are more dynamic than others and need to be refreshed more often. I have found that this is a relatively minor problem but annoying when it happens.</li>
<li>When a site is mobile readyÂ  sometimes the Google proxy breaks it. Allowing me an easy way to switch to a direct connection of the site could fix that. It might also fix the refresh problem.</li>
</ol>
<p>If I have to pick one for them to fix though its got to be number one. I chat a lot via email on my phone since its cheaper than SMS, portable, and maintains state between platforms. Getting access to the maps from my email would make it so much faster for me to find my way around for meetings.</p>
<img src="http://web-professor.net/wp/?ak_action=api_record_view&id=421&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://web-professor.net/wp/2008/01/31/five-things-google-mobile-needs-to-fix/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Registration Blacklist Plugin, updated</title>
		<link>http://web-professor.net/wp/2008/01/17/registration-blacklist-plugin-updated/</link>
		<comments>http://web-professor.net/wp/2008/01/17/registration-blacklist-plugin-updated/#comments</comments>
		<pubDate>Thu, 17 Jan 2008 20:05:28 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Web Technologies]]></category>

		<guid isPermaLink="false">http://web-professor.net/wp/2008/01/17/registration-blacklist-plugin-updated/</guid>
		<description><![CDATA[If your using the Registration Blacklist plugin theres an update to it. ( Thanks Paul for pointing out the problem. ) The plugin allows you to block specific email addresses or all email addresses from a particular domain from being used to register as a user. I found it effective to prevent a million dummy [...]]]></description>
			<content:encoded><![CDATA[<p>If your using the <a href="http://web-professor.net/wp/2007/01/14/new-wordpress-plugin-ban-email-domains-from-user-registration/">Registration Blacklist</a> plugin theres an update to it. ( Thanks <a href="http://pfischer.com/">Paul</a> for pointing out the problem. )</p>
<p>The plugin allows you to block specific email addresses or all email addresses from a particular domain from being used to register as a user. I found it effective to prevent a million dummy users from being registeredÂ  to my blog. Most of the registrations used a handful of free email providers so just adding them closed them down.</p>
<img src="http://web-professor.net/wp/?ak_action=api_record_view&id=412&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://web-professor.net/wp/2008/01/17/registration-blacklist-plugin-updated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Gmail as a spam filter on Cpanel</title>
		<link>http://web-professor.net/wp/2007/08/20/using-gmail-as-a-spam-filter-on-cpanel/</link>
		<comments>http://web-professor.net/wp/2007/08/20/using-gmail-as-a-spam-filter-on-cpanel/#comments</comments>
		<pubDate>Mon, 20 Aug 2007 17:19:44 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Web Technologies]]></category>

		<guid isPermaLink="false">http://web-professor.net/wp/2007/08/20/using-gmail-as-a-spam-filter-on-cpanel/</guid>
		<description><![CDATA[You probably have heard that you can use Gmail to filter spam for all your email addresses. You might have gone so far as to look up how to do it and end up a little frustrated because your not a server whiz and rely on cpanel to set up filters. The reason your having [...]]]></description>
			<content:encoded><![CDATA[<p>You probably have heard that you can use Gmail to filter spam for all your email addresses. You might have gone so far as to look up how to do it and end up a little frustrated because your not a server whiz and rely on cpanel to set up filters.  The reason your having problems is because Cpanel is a bit different than a vanilla Linux install.</p>
<p><strong>Quick Overview </strong></p>
<p>Gmail has very effective spam filters that we can utilize to filter our non Gmail email. There are many ways to set up filtering with Gmail with Cpanel. One way to do this is to <a href="http://www.petahosting.com/web-hosting-support/cpanel-tutorials/cpanel-forward-email.htm">forward our mail</a> to our Gmail address. Then we can respond using our shiny new Gmail account and have all our email filtered. If you want to continue to use your old email address though this doesn&#8217;t work well.</p>
<p><a href="http://jeremy.zawodny.com/blog/archives/006035.html">A second way</a> to do this is to forward all email to Gmail and allow Gmail to send email as your original domain. Allowing another server to email on your domains behalf is called &#8220;relaying&#8221; and done wrong can be a source of spam.  Smartly Google requires a special server setup that tells them they have permission to send email on your domains behalf. The setup is called<a href="http://www.faqs.org/rfcs/rfc2554.html"> SMTP AUTH</a> and isn&#8217;t standard with Cpanel so it was out for me.</p>
<p>A third way is to set up our email to handled by Google. In order to do this you sign up for Google Apps and set up your dns records accordingly. I think this option is great for regular family sites or beginners but for my business. If you don&#8217;t have or are uncomfortable using <a href="http://web-professor.net/wp/definitions/#Shell-Access">shell access</a> then this option might be best for you. I chose not to use this though because don&#8217;t want to be <a href="http://seoblackhat.com/2007/01/08/still-no-gmail-2/">left high and dry</a> if Gmail encounters any problems.</p>
<p>Lastly you can <a href="http://mboffin.com/post.aspx?id=1636">set up a series of rules</a>  at Gmail and on your server to filter your email. The first rule is set on your server and forwards your email to your Gmail account if its not been filtered yet. The second rule is setup at Gmail to forward email to your email server if its for your domain. The last rule is on your server that checks if the emails been to Gmail yet and then routes it to the appropriate mail box. This option works great but requires <a href="http://web-professor.net/wp/definitions/#Shell-Access">shell access</a> to your server and can be tricky to setup with Cpanel. This is the option I chose to use.</p>
<p><strong>How I Setup Gmail Filtering with Cpanel</strong></p>
<p>I chose the series of rules option but I needed to modify it a bit to work with Cpanel. You can not add the rules using the Cpanel mail filter in the control panel because you can&#8217;t add all the necessary rules. Since thats the case you need to edit the filter file manually on the server.  On a regular *Nix  server with Exim as the mail server you would put a file called &#8220;.forward&#8221; in the root of your home directory. The &#8220;.forward&#8221; file would have all the rules you exim to process when it handles your mail. On a Cpanel server this doesn&#8217;t work though. There is a directory with files for filters for all the domains on a Cpanel machine. The directory is called &#8220;/etc/vfilters/&#8221; and the file name will be your domain name. With VI I opened and edited the file adding the rules noted <a href="http://mboffin.com/post.aspx?id=1636">here</a>. Then I added the rule at Gmail to forward my mail back to my server.</p>
<p>Here is an example of my setup:</p>
<p>In the file &#8220;/etc/vfilters/web-professor.net&#8221;:</p>
<pre>
# Exim filter
if not first_delivery and error_message then finish endif
if $message_headers: does not contain "X-Forwarded-For: myGmailAccount@gmail.com"	then
		deliver "myGmailAccount@gmail.com"
	else
		deliver "admin@web-professor.net"
	endif
endif</pre>
<p>In my Gmail account I went to the <em>Settings</em> page and then to the<em> Filters</em> tab. I set a filter that causes Gmail to forward all email addressed to a the domain &#8220;web-professor.net&#8221;, and keep a copy in Gmailâ€™s inbox. To do it yourself just go to the advanced filters and enter your domain in the &#8220;to&#8221; field (no need for wildcards). Then select forward for the action and fill in the email address.</p>
<p><strong>The Results</strong></p>
<p>For the first couple of hours Gmail let through most spam but after marking the bad stuff off and on it catches most of it.Â  For me that means it stopped ~2000 spam mailsÂ  and let ~5 through this morning. To contrast these results with my previous spam filteringÂ  I was receiving ~80 spams messages a day. With some more training I am confident that those numbers will get even better.</p>
<p><strong>Postscript</strong></p>
<p>I hope this helps you set up Gmail filtering for yourself. I am sure there are other ways to do this this is just how I solved it. Also not that the solution I posted sends all the email back to one email address. That might not work for you if not then take a peek at the <a href="http://www.exim.org/exim-html-4.10/doc/html/filter_toc.html">exim filter documentation</a>. You should be able to come up with more complex filters and rules to forward email to more than one email address.</p>
<img src="http://web-professor.net/wp/?ak_action=api_record_view&id=363&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://web-professor.net/wp/2007/08/20/using-gmail-as-a-spam-filter-on-cpanel/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress Plugin: Append To Post</title>
		<link>http://web-professor.net/wp/2007/08/13/wordpress-plugin-append-to-post/</link>
		<comments>http://web-professor.net/wp/2007/08/13/wordpress-plugin-append-to-post/#comments</comments>
		<pubDate>Mon, 13 Aug 2007 18:55:14 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Web Technologies]]></category>

		<guid isPermaLink="false">http://web-professor.net/wp/2007/08/13/wordpress-plugin-append-to-post/</guid>
		<description><![CDATA[This plugin allows you to append or prepend text to a post and selectively display that on the blog, rss, or both. I created it to allow me an easy way to add links to my sponsors in my feed. Its easy to install just unzip it and drop the file into your plugins directory. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://web-professor.net/shared/wp-plugins/webprof-append-post.zip">This plugin</a> allows you to append or prepend text to a post and selectively display that on the blog, rss, or both. I created it to allow me an easy way to add links to my sponsors in my feed. Its easy to install just unzip it and drop the file into your plugins directory. Then activate it in via the plugins menu in your admin panel.</p>
<p>To use the plugin go to options and select the &#8220;Append Post&#8221; tab.  From there you can add text ( including html )  to be prepended or appended to your posts. Also you can select whether you want that text displayed in the feed, on the blog, or both. Pretty straight forward please post any questions your have in the comments.</p>
<p><strong>19 August 2007:</strong>  Updated plugin to only display in posts ( and not pages )</p>
<img src="http://web-professor.net/wp/?ak_action=api_record_view&id=358&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://web-professor.net/wp/2007/08/13/wordpress-plugin-append-to-post/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Quick Tip: Preventing PHP Exploits</title>
		<link>http://web-professor.net/wp/2007/08/08/quick-tip-preventing-php-exploits/</link>
		<comments>http://web-professor.net/wp/2007/08/08/quick-tip-preventing-php-exploits/#comments</comments>
		<pubDate>Wed, 08 Aug 2007 19:30:13 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Web Technologies]]></category>

		<guid isPermaLink="false">http://web-professor.net/wp/2007/08/08/quick-tip-preventing-php-exploits/</guid>
		<description><![CDATA[Exploits happen but with some planning you can prevent the worst of them. Planning for an exploit includes considering how to mitigate the damage, how to recover from it, and prevention. Mitigating damage means trying to limit access to the system via exploited systems. In my case I run php as a cgi and have [...]]]></description>
			<content:encoded><![CDATA[<p>Exploits happen but with some planning you can prevent the worst of them. Planning for an exploit includes considering how to mitigate the damage, how to recover from it, and prevention. Mitigating damage means trying to limit access to the system via exploited systems. In my case I run php as a cgi and have it run as the owner. This makes it more difficult to damage things that don&#8217;t belong to the owner of the script. Planning for recovery means having a backup, knowing how to restore from that backup, and knowing what other actions you&#8217;ll need to take to recover.</p>
<p>If your running PHP some of the worst exploits involve executing shell commands on your server. Luckily though it is also one of the most avoidable. A simple way to prevent this is to add all the functions that allow execution of shell commands to the &#8220;disable_functions&#8221; line in the php.ini file.</p>
<p>Here&#8217;s what how mine is configured:</p>
<p>disable_functions = system, exec, passthru, proc_open, shell_exec, popen</p>
<p><em># I&#8217;m not a security professional but I&#8217;ve been around the block. Here are some places I go to for advice:</em></p>
<ul>
<li><em><a href="http://www.oreilly.com/catalog/linuxsckbk/">Linux Security Cookbook</a> &#8211; A good book by O&#8217;Rielly that presents simple &#8220;recipes&#8221; to configuring a secure server. The  book is that it explains why you take the actions it lays out providing you with a good starting point when thinking abuot security.<br />
</em></li>
<li><em>The <a href="http://forums.serverbeach.com/">forums over at Serverbeach</a> are full of great howto&#8217;s  and tutorials.</em></li>
<li><em><a href="http://www.securityfocus.com/">Securityfocus</a> has a <a href="http://www.securityfocus.com/vulnerabilities">great database</a> that tracks vulnerabilities</em></li>
</ul>
<img src="http://web-professor.net/wp/?ak_action=api_record_view&id=355&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://web-professor.net/wp/2007/08/08/quick-tip-preventing-php-exploits/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Redirect Homepage WordPress Plugin</title>
		<link>http://web-professor.net/wp/2007/08/02/redirect-homepage-wordpress-plugin/</link>
		<comments>http://web-professor.net/wp/2007/08/02/redirect-homepage-wordpress-plugin/#comments</comments>
		<pubDate>Thu, 02 Aug 2007 20:55:37 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web Technologies]]></category>

		<guid isPermaLink="false">http://web-professor.net/wp/2007/08/02/redirect-homepage-wordpress-plugin/</guid>
		<description><![CDATA[The Short Version: If you need to redirect the location of your WordPress homepage you might find this plug in useful. You can download it here. Slightly Longer Version: I installed WordPress in a sub directory when I first started blogging ages ago. Then I set up a simple homepage at the root of my [...]]]></description>
			<content:encoded><![CDATA[<p><strong>The Short Version:</strong></p>
<p>If you need to redirect the location of your WordPress homepage you might find this plug in useful.</p>
<p><a href="http://web-professor.net/shared/wp-plugins/webprof-redirect-homepage.zip">You can download it here.</a></p>
<p><strong>Slightly Longer Version: </strong></p>
<p>I installed WordPress in a sub directory when I first started blogging ages ago. Then I set up a simple homepage at the root of my domain. The homepage pulled data from various locations and married it all together. This worked great at first but when I started customizing my templates more and more it grew to be more of a hassle to make the homepage match. I eventually just mirrored the WordPress homepage at the root of my domain. This resulted in having two pages that were exactly the same and two different locations that were linked to. To remedy that I needed to 301 one of the pages to the other. I chose to redirect the WordPress default to the root of the domain. I wrote this plugin to let me do that easily.</p>
<p><a href="http://web-professor.net/shared/wp-plugins/webprof-redirect-homepage.zip">You can download it here.</a></p>
<p><strong>Install &amp; Configure:</strong></p>
<p>As with all plugins just unzip it and drop it in your plugins directory. That is in the wp-content folder which is in the root of your wordpress install. Go to your admin panel then your plugins section and activate the &#8220;Redirect Homepage&#8221; plugin. After that you need to set the new location of your homepage. Go to the Options panel and look for the &#8220;Redirect Homepage&#8221; optiosn panel.</p>
<img src="http://web-professor.net/wp/?ak_action=api_record_view&id=354&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://web-professor.net/wp/2007/08/02/redirect-homepage-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>PHP and MSSQL Mysterious Truncating Text</title>
		<link>http://web-professor.net/wp/2007/08/01/php-and-mssql-mysterious-truncating-text/</link>
		<comments>http://web-professor.net/wp/2007/08/01/php-and-mssql-mysterious-truncating-text/#comments</comments>
		<pubDate>Wed, 01 Aug 2007 18:19:37 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Web Technologies]]></category>

		<guid isPermaLink="false">http://web-professor.net/wp/2007/08/01/php-and-mssql-mysterious-truncating-text/</guid>
		<description><![CDATA[PHP is a great language to develop in on any platform but when it is on Windows there can be surprises. One surprise I encountered was the truncation of text fields retrieved from a MS SQL database. It was a difficult search on the internet that partially lead me to the solution. I discovered others [...]]]></description>
			<content:encoded><![CDATA[<p>PHP is a great language to develop in on any platform but when it is on Windows there can be surprises.  One surprise I encountered was the truncation of text fields retrieved from a MS SQL database. It was a difficult search on the internet that partially lead me to the solution. I discovered <a href="http://www.ilovejackdaniels.com/php/sql-server-php-truncating-text/">others had a similar but different problem</a>. It was similar because they to were having truncation of text retrieved from a mssql. It was different because they were using a different library ( <a href="http://us2.php.net/manual/en/ref.mssql.php">mssql</a> versus <a href="http://us2.php.net/manual/en/ref.uodbc.php">odbc</a> ). More research lead me to the php.ini setting that limits the amount of long text returned when using odbc. The default value for the setting was a ridiculously low 4 kilobytes.</p>
<p>The variable that needed set the a more reasonable number was &#8220;odbc.defaultlrl&#8221;. You can set it with the <a href="http://us3.php.net/manual/en/function.ini-set.php">ini_set function</a> or directly in the php.ini file. When you set the variable you should be mindful of your needs, <a href="http://www.associatedcontent.com/article/9142/php_getting_text_to_display_from_odbc.html">mssql limits</a>,  and the amount of memory that your server has.  Setting the value to high can exhaust the servers memory or the <a href="http://us2.php.net/ini.core#ini.memory-limit">max allowed memory</a> for a php process quickly resulting in a <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1">500 error.</a>  Research and experiment a bit to determine what you need to have these set at.</p>
<img src="http://web-professor.net/wp/?ak_action=api_record_view&id=353&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://web-professor.net/wp/2007/08/01/php-and-mssql-mysterious-truncating-text/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.211 seconds -->

