About the Author

Chris Shiflett

Chris Shiflett is an author and speaker who leads the web application security practice at OmniTI.


ZendCon Day Three

As expected, I wasn't able to keep up with blogging during the conference very well. I do want to mention Michael Radwin's talk, PHP at Yahoo. It was a nice mixture of business and technical content, and there were some key points that I wanted to note:

  • Yahoo gets some obscene traffic - 411,000,000 unique visitors per month, 191,000,000 active registered users, 11,400,000 paying customers, and a boggling 3,400,000,000 page views per day.
  • Yahoo organizes code into four categories - HTML templates (95% HTML, 5% PHP), template helpers (50% HTML, 50% PHP), business logic (100% PHP), and core code written in C and C++.
  • Yahoo uses a very basic mod_php and loads extensions as necessary with php.ini.
  • For security, they use open_basedir, disable allow_url_fopen, and use the input_filter hook.

Michael made some interesting points regarding security. For example, they use libcurl rather than enable allow_url_fopen, because (among other things) this makes auditing code easier - you have something to search for. For a similar reason, they use the input_filter hook, but they also provide developers with ways to access raw data - this also gives them something to search for during audits. I think this general approach has a lot of merit, particularly for companies with very large development teams (Yahoo employs several hundred PHP developers).

I'll fill in a few gaps and post a conference summary over the weekend. The short summary is that it was a very successful conference - organized, well-attended, and valuable.

About This Post

ZendCon Day Three was posted on Sat, 22 Oct 2005 at 04:59:56 GMT.

0 Comments

Post A Comment

Personal Details and Comment

Style Guide

Line breaks are converted to paragraphs. Also use:

  • <a href="" title="">text</a>1
  • <em>text</em>
  • <blockquote><p>text</p></blockquote>
  • <code>2  <?php  if ($foo) {      $foo = TRUE;  }  ?></code>
  1. Note: <code> can be used inline (e.g. in paragraphs) or in a block as shown. Include whitespace and newlines in blocks.

Please enter Chris (my first name) below. This is a primitive spam prevention technique, and I apologize for the inconvenience.

Preview and Submit

Upcoming Talks

php|tek

19 - 22 May 2009

At Sheraton Gateway Suites Chicago O'Hare, Chicago, Illinois.

OSCON

20 - 24 Jul 2009

At San Jose McEnery Convention Center, San Jose, California.

New Comments

Ronald wrote:

A little hard for a rookie like me, but useful. I also thought you'd like to know there is a grea...

Posted in A rev="canonical" HTTP Header
Alex wrote:

Aren't you forgetting that the session will expire if _write() is never called? That excludes ...

Posted in
Andy Mabbett wrote:

@Chris Shiflett, #4, belatedly: Google only accepts rel=canonical within the same domain. My s...

Posted in A rev="canonical" HTTP Header
Kenneth Udut wrote:

I've implemented this rev="canonical" idea on http://free.naplesplus.us in the hopes that it catc...

Posted in Save the Internet with rev="canonical"
Mark wrote:

After reading your article and all the comments, what I got out of this was that sessions are not...

Posted in

Browse Comments