<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-24366901</id><updated>2011-12-14T19:13:58.301-08:00</updated><title type='text'>PHP</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://php-adsense.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24366901/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://php-adsense.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>ida</name><uri>http://www.blogger.com/profile/17670866193653730542</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-24366901.post-114292166492648132</id><published>2006-03-20T22:13:00.001-08:00</published><updated>2006-03-20T22:14:24.926-08:00</updated><title type='text'></title><content type='html'>&lt;a id="http_auth" name="http_auth"&gt;&lt;strong&gt;&lt;span style="font-size:180%;"&gt;HTTP Authentication&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The HTTP Authentication hooks in PHP/FI are only available when it is running as an Apache module. In an Apache module PHP/FI script, it is possible to use the Header() command to send an "Authentication Required" message to the client browser causing it to pop up a Username/Password input window. Once the user has filled in a username and a password, the URL containing the PHP/FI script will be called again with the variables, $PHP_AUTH_USER, $PHP_AUTH_PW and $PHP_AUTH_TYPE set to the user name, password and authentication type respectively. Only "Basic" authentication is supported at this point.&lt;br /&gt;An example script fragment which would force client authentication on a page would be the following: &lt;?&lt;br /&gt;if(!$PHP_AUTH_USER) {&lt;br /&gt;Header("WWW-authenticate: basic realm=\"My Realm\"");&lt;br /&gt;Header("HTTP/1.0 401 Unauthorized");&lt;br /&gt;echo "Text to send if user hits Cancel button\n"&lt;br /&gt;exit;&lt;br /&gt;} else {&lt;br /&gt;echo "Hello $PHP_AUTH_USER.&lt;p&gt;";&lt;br /&gt;echo "You entered $PHP_AUTH_PW as your password.&lt;p&gt;";&lt;br /&gt;}&lt;br /&gt;&gt;&lt;br /&gt;Instead of simply printing out the $PHP_AUTH_USER and $PHP_AUTH_PW, you would probably want to check the username and password for validity. Perhaps by sending a query to a database, or by looking up the user in a dbm file.&lt;br /&gt;Watch out for buggy Internet Explorer browsers out there. They seem very picky about the order of the headers. Sending the WWW-authenticate header before the HTTP/1.0 401 header seems to do the trick for now.&lt;br /&gt;In order to prevent someone from writing a script which reveals the password for a page that was authenticated through a traditional external mechanism, the PHP_AUTH variables will not be set if external authentication is enabled for that particular page.&lt;br /&gt;Note however that the above does not prevent someone who controls a non-authenticated URL from stealing passwords from authenticated URL's on the same server. The PHP_AUTH_VARS define in php.h can be undefined to make sure that these variables will never be set and thus disable anybody from using mod_php to try to steal passwords.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24366901-114292166492648132?l=php-adsense.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-adsense.blogspot.com/feeds/114292166492648132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24366901&amp;postID=114292166492648132' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24366901/posts/default/114292166492648132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24366901/posts/default/114292166492648132'/><link rel='alternate' type='text/html' href='http://php-adsense.blogspot.com/2006/03/http-authentication-http.html' title=''/><author><name>ida</name><uri>http://www.blogger.com/profile/17670866193653730542</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24366901.post-114292161394091155</id><published>2006-03-20T22:13:00.000-08:00</published><updated>2006-03-20T22:13:33.940-08:00</updated><title type='text'></title><content type='html'>&lt;a id="commandline" name="commandline"&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Running PHP/FI from the command line&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;If you build the CGI version of PHP/FI, you can use it from the command line simply typing: php.cgi filename where filename is the file you want to parse. You can also create standalone PHP/FI scripts by making the first line of your script look something like: #!/usr/local/bin/php.cgi -q&lt;br /&gt;The "-q" suppresses the printing of the HTTP headers. You can leave off this option if you like.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24366901-114292161394091155?l=php-adsense.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-adsense.blogspot.com/feeds/114292161394091155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24366901&amp;postID=114292161394091155' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24366901/posts/default/114292161394091155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24366901/posts/default/114292161394091155'/><link rel='alternate' type='text/html' href='http://php-adsense.blogspot.com/2006/03/running-phpfi-from-command-line-if-you.html' title=''/><author><name>ida</name><uri>http://www.blogger.com/profile/17670866193653730542</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24366901.post-114292151390805659</id><published>2006-03-20T22:11:00.000-08:00</published><updated>2006-03-20T22:11:53.910-08:00</updated><title type='text'></title><content type='html'>&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Things You Need To Know Before Installing&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;- Can you run both get and post method cgi programs on your server?This is not relevant if you installing the Apache module version. If not, you can not use this package. On many public ISP's CGI programs are either disallowed or severely restricted. If this is the case on your system, talk to your system administrator and ask him/her to have a look at this package and see if they will install it for you.&lt;br /&gt;- If you have mSQL installed on your system, you need to know the base directory of this installation.&lt;br /&gt;- If you have Postgres95 or PostgreSQL installed on your system, you need to know the base directory of this installation.&lt;br /&gt;- If you are going to be storing log and access configuration files in an NFS-mounted directory and your system does not provide NFS file locking then you will need to define the NFS_HACK variable manually in the src/Makefile and you may want to use a slightly modified version of the gdbm library. See the nfs_hack.txt file in the doc directory for more information on this.&lt;br /&gt;- Note that if you are not interested in using PHP to track accesses to your pages, do not compile this option into the binary. You should also leave out the access restriction code. There is considerable overhead in including these options.&lt;br /&gt;- If you are installing the Apache module version, you will need to know the Apache src code directory location.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24366901-114292151390805659?l=php-adsense.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-adsense.blogspot.com/feeds/114292151390805659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24366901&amp;postID=114292151390805659' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24366901/posts/default/114292151390805659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24366901/posts/default/114292151390805659'/><link rel='alternate' type='text/html' href='http://php-adsense.blogspot.com/2006/03/things-you-need-to-know-before.html' title=''/><author><name>ida</name><uri>http://www.blogger.com/profile/17670866193653730542</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24366901.post-114292145543190997</id><published>2006-03-20T22:10:00.000-08:00</published><updated>2006-03-20T22:10:55.433-08:00</updated><title type='text'></title><content type='html'>&lt;h2&gt;&lt;a id="install" name="install"&gt;&lt;span style="color:#000099;"&gt;Installation Instructions&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;dl&gt;&lt;dt&gt;&lt;big&gt;Before You Begin&lt;/big&gt; &lt;dd&gt;&lt;p&gt;If you have absolutely no Unix experience, you may want to ask around for someone with a little bit of Unix knowledge to help you through this installation. Every attempt has been made to make it as simple as possible, but since the software is quite involved and relies on a number of different components, it is not realistic to assume it will go smoothly on all systems. You will probably need someone around who knows the particulars of the destination system well.&lt;/p&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24366901-114292145543190997?l=php-adsense.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-adsense.blogspot.com/feeds/114292145543190997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24366901&amp;postID=114292145543190997' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24366901/posts/default/114292145543190997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24366901/posts/default/114292145543190997'/><link rel='alternate' type='text/html' href='http://php-adsense.blogspot.com/2006/03/installation-instructionsbefore-you.html' title=''/><author><name>ida</name><uri>http://www.blogger.com/profile/17670866193653730542</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24366901.post-114292141155658476</id><published>2006-03-20T22:00:00.000-08:00</published><updated>2006-03-20T22:10:11.566-08:00</updated><title type='text'></title><content type='html'>&lt;a id="history" name="history"&gt;Brief History&lt;/a&gt;&lt;br /&gt;PHP began life as a simple little cgi wrapper written in Perl. I wrote it in an afternoon during a period between contracts when I needed a quick tool to get an idea of who was reading my online resume. It was never intended to go beyond my own private use. The web server where I had my resume was extremely overloaded and had constant problems forking processes. I rewrote the Perl wrapper in C to get rid of the considerable overhead of having to fork Perl each time my resume was accessed.&lt;br /&gt;Eventually other people on the same web server came across my wrapper and asked if they could use it. Then, as inevitably happens, they started asking for more features. I added more features and finally put together a semi-complete distribution along with documentation, a mailing-list and a FAQ. The name of this first package was Personal Home Page Tools, which later became Personal Home Page Construction Kit.&lt;br /&gt;At the same time I started playing with databases and wrote a tool to easily embed SQL queries into web pages. It was basically another CGI wrapper that parsed SQL queries and made it easy to create forms and tables based on these queries. This tool was named FI (Form Interpreter).&lt;br /&gt;PHP/FI version 2.0 is a complete rewrite of these two packages combined into a single program. It has now evolved to the point where it is a simple programming language embedded inside HTML files. The original acronym, PHP, has stuck. It isn't really appropriate any longer. PHP/FI is used more for entire web sites today than for small Personal Home Page setups. By whatever name, it eliminates the need for numerous small Perl cgi programs by allowing you to place simple scripts directly in your HTML files. This speeds up the overall performance of your web pages since the overhead of forking Perl several times has been eliminated. It also makes it easier to manage large web sites by placing all components of a web page in a single html file. By including support for various databases, it also makes it trivial to develop database enabled web pages. Many people find the embedded nature much easier to deal with than trying to create separate HTML and CGI files.&lt;br /&gt;PHP Version 3.0 is yet another rewrite. If you are just starting out with PHP, I suggest that you start with Version 3.0 instead of continuing with 2.0 at this point. PHP3 is quickly going to replace PHP/FI 2.0 and all development efforts are now focused on PHP3. Any remaining bugs in PHP/FI 2.0 are unlikely to be fixed unless they are straightforward. More information on PHP3 can be found at &lt;a href="http://www.lerdorf.on.ca/php3/"&gt;http://www.lerdorf.on.ca/php3&lt;/a&gt;.&lt;br /&gt;Throughout this documentation any references to PHP, FI or PHP/FI all refer to the same thing. The difference between PHP and FI is only a conceptual one. Both are built from the same source distribution. When I build the package without any access logging or access restriction support, I call my binary FI. When I build with these options, I call it PHP.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24366901-114292141155658476?l=php-adsense.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-adsense.blogspot.com/feeds/114292141155658476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24366901&amp;postID=114292141155658476' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24366901/posts/default/114292141155658476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24366901/posts/default/114292141155658476'/><link rel='alternate' type='text/html' href='http://php-adsense.blogspot.com/2006/03/brief-history-php-began-life-as-simple.html' title=''/><author><name>ida</name><uri>http://www.blogger.com/profile/17670866193653730542</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24366901.post-114281149554647728</id><published>2006-03-19T15:37:00.000-08:00</published><updated>2006-03-19T15:38:15.553-08:00</updated><title type='text'></title><content type='html'>Php merupakan bahasa program yang bagus untuk membuat web situs&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24366901-114281149554647728?l=php-adsense.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-adsense.blogspot.com/feeds/114281149554647728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24366901&amp;postID=114281149554647728' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24366901/posts/default/114281149554647728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24366901/posts/default/114281149554647728'/><link rel='alternate' type='text/html' href='http://php-adsense.blogspot.com/2006/03/php-merupakan-bahasa-program-yang.html' title=''/><author><name>ida</name><uri>http://www.blogger.com/profile/17670866193653730542</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
