SlideShare uma empresa Scribd logo
1 de 25
PHP Hacking
           The battle between great ideas
               and not-so-great code




Pete Prodoehl
http://rasterweb.net/raster/
PHP: Hypertext Preprocessor




PHP: Hypertext Preprocessor
Developer
“Software development is
the act of working to
produce/create software.”
Programmer
“Computer programming is
the process of writing, testing,
debugging/troubleshooting, and
maintaining the source code of
computer programs.”
Hacker
“Someone who plays golf poorly.”




                                   hmmm...
Hacker
“A programmer who breaks into
computer systems in order to steal
or change or destroy information
as a form of cyber-terrorism.”



                                     uhhh...
Hacker
1. A person who enjoys exploring the details of programmable systems and how to
stretch their capabilities, as opposed to most users, who prefer to learn only the
minimum necessary.

2. One who programs enthusiastically (even obsessively) or who enjoys programming
rather than just theorizing about programming.

3. A person capable of appreciating hack value.

4. A person who is good at programming quickly.

5. An expert at a particular program, or one who frequently does work using it or on
it; as in ‘a UNIX hacker.’

6. An expert or enthusiast of any kind. One might be an astronomy hacker, for
example.

7. One who enjoys the intellectual challenge of creatively overcoming or
circumventing limitations.
                                                             From “The Jargon File” http://www.catb.org/jargon/
PERL
PHP

“It’s like PERL, but for building web sites,
and... not as good...”
Culture
Kellan Elliott-McCrea

“The hardest part in working with
languages I’m less familiar with (python,
and php for example) rather then those
I’m more comfortable with (perl or java)
is not syntax questions, its culture.”

                         http://laughingmeme.org/2002/10/23/there-has-got-to-be-a-better-way/
Feed on Feeds
An open source web-based aggregator.




In 2004, I hacked the
living crap out of it...
Categorize
A tool to categorize articles.




In 2004, I wrote it for
my employer...
delisync
A tool to sync your del.icio.us data.




Open APIs are a good
thing... exploit them!
Locator
A store locator using Google Maps.




90% example code
10% my own code
Evil-O-Mator
Just another silly hack...




90% silly
10% PHP
Heard
A tool to mirror your Last.fm data.




Open APIs are (still)                     Hu b!
                                      G it
good... exploit them!           on
                            Now
MAKE
 COOL
  SHIT!
HACK!
Thank You
Find me on the Internet!

  Blog: http://rasterweb.net/raster/

       Email: pete@rasterweb.net

                  Twitter: @raster

Mais conteúdo relacionado

Semelhante a PHP Hacking: The battle between great ideas and not-so-great code

Keith J. Jones, Ph.D. - Crash Course malware analysis
Keith J. Jones, Ph.D. - Crash Course malware analysisKeith J. Jones, Ph.D. - Crash Course malware analysis
Keith J. Jones, Ph.D. - Crash Course malware analysisKeith Jones, PhD
 
Practical Experiences of hacking with Contextual Comms and BOTS, Sam Machin, ...
Practical Experiences of hacking with Contextual Comms and BOTS, Sam Machin, ...Practical Experiences of hacking with Contextual Comms and BOTS, Sam Machin, ...
Practical Experiences of hacking with Contextual Comms and BOTS, Sam Machin, ...Alan Quayle
 
Cyber Security Workshop Presentation.pptx
Cyber Security Workshop Presentation.pptxCyber Security Workshop Presentation.pptx
Cyber Security Workshop Presentation.pptxYashSomalkar
 
Ebooks without Vendors: Using Open Source Software to Create and Share Meanin...
Ebooks without Vendors: Using Open Source Software to Create and Share Meanin...Ebooks without Vendors: Using Open Source Software to Create and Share Meanin...
Ebooks without Vendors: Using Open Source Software to Create and Share Meanin...Matt Weaver
 
Introduction to Hacking for University Hack Day
Introduction to Hacking for University Hack DayIntroduction to Hacking for University Hack Day
Introduction to Hacking for University Hack DayChristian Heilmann
 
OpenFest 2012 : Leveraging the public internet
OpenFest 2012 : Leveraging the public internetOpenFest 2012 : Leveraging the public internet
OpenFest 2012 : Leveraging the public internettkisason
 
Python on Science ? Yes, We can.
Python on Science ?   Yes, We can.Python on Science ?   Yes, We can.
Python on Science ? Yes, We can.Marcel Caraciolo
 
Hpai class 12 - potpourri & perception - 032620 actual
Hpai   class 12 - potpourri & perception - 032620 actualHpai   class 12 - potpourri & perception - 032620 actual
Hpai class 12 - potpourri & perception - 032620 actualmelendez321
 
Mastering python lesson1
Mastering python lesson1Mastering python lesson1
Mastering python lesson1Ruth Marvin
 
P Hundamental Security Coding Secure With Php Lamp
P Hundamental Security Coding Secure With Php LampP Hundamental Security Coding Secure With Php Lamp
P Hundamental Security Coding Secure With Php Lampphptechtalk
 
YAPC::EU::2009 - How Opera Software uses Perl
YAPC::EU::2009 - How Opera Software uses PerlYAPC::EU::2009 - How Opera Software uses Perl
YAPC::EU::2009 - How Opera Software uses PerlCosimo Streppone
 
Pythonlearn-01-Intro.pptx
Pythonlearn-01-Intro.pptxPythonlearn-01-Intro.pptx
Pythonlearn-01-Intro.pptxMrHackerxD
 
The challenges of file formats
The challenges of file formatsThe challenges of file formats
The challenges of file formatsAnge Albertini
 
Php Symfony and software-life-cycle
Php Symfony and software-life-cyclePhp Symfony and software-life-cycle
Php Symfony and software-life-cycleSwatantra Kumar
 
Perl Myths 200909
Perl Myths 200909Perl Myths 200909
Perl Myths 200909Tim Bunce
 
In our heated learning of the scope of genetic programming, before ...
In our heated learning of the scope of genetic programming, before ...In our heated learning of the scope of genetic programming, before ...
In our heated learning of the scope of genetic programming, before ...butest
 
Py4 inf 01-intro
Py4 inf 01-introPy4 inf 01-intro
Py4 inf 01-introIshaq Ali
 
Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical Dhruv Gohil
 
DIY Applied Machine Learning
DIY Applied Machine LearningDIY Applied Machine Learning
DIY Applied Machine LearningTarek Hoteit
 

Semelhante a PHP Hacking: The battle between great ideas and not-so-great code (20)

JTMDetroit: Code
JTMDetroit: CodeJTMDetroit: Code
JTMDetroit: Code
 
Keith J. Jones, Ph.D. - Crash Course malware analysis
Keith J. Jones, Ph.D. - Crash Course malware analysisKeith J. Jones, Ph.D. - Crash Course malware analysis
Keith J. Jones, Ph.D. - Crash Course malware analysis
 
Practical Experiences of hacking with Contextual Comms and BOTS, Sam Machin, ...
Practical Experiences of hacking with Contextual Comms and BOTS, Sam Machin, ...Practical Experiences of hacking with Contextual Comms and BOTS, Sam Machin, ...
Practical Experiences of hacking with Contextual Comms and BOTS, Sam Machin, ...
 
Cyber Security Workshop Presentation.pptx
Cyber Security Workshop Presentation.pptxCyber Security Workshop Presentation.pptx
Cyber Security Workshop Presentation.pptx
 
Ebooks without Vendors: Using Open Source Software to Create and Share Meanin...
Ebooks without Vendors: Using Open Source Software to Create and Share Meanin...Ebooks without Vendors: Using Open Source Software to Create and Share Meanin...
Ebooks without Vendors: Using Open Source Software to Create and Share Meanin...
 
Introduction to Hacking for University Hack Day
Introduction to Hacking for University Hack DayIntroduction to Hacking for University Hack Day
Introduction to Hacking for University Hack Day
 
OpenFest 2012 : Leveraging the public internet
OpenFest 2012 : Leveraging the public internetOpenFest 2012 : Leveraging the public internet
OpenFest 2012 : Leveraging the public internet
 
Python on Science ? Yes, We can.
Python on Science ?   Yes, We can.Python on Science ?   Yes, We can.
Python on Science ? Yes, We can.
 
Hpai class 12 - potpourri & perception - 032620 actual
Hpai   class 12 - potpourri & perception - 032620 actualHpai   class 12 - potpourri & perception - 032620 actual
Hpai class 12 - potpourri & perception - 032620 actual
 
Mastering python lesson1
Mastering python lesson1Mastering python lesson1
Mastering python lesson1
 
P Hundamental Security Coding Secure With Php Lamp
P Hundamental Security Coding Secure With Php LampP Hundamental Security Coding Secure With Php Lamp
P Hundamental Security Coding Secure With Php Lamp
 
YAPC::EU::2009 - How Opera Software uses Perl
YAPC::EU::2009 - How Opera Software uses PerlYAPC::EU::2009 - How Opera Software uses Perl
YAPC::EU::2009 - How Opera Software uses Perl
 
Pythonlearn-01-Intro.pptx
Pythonlearn-01-Intro.pptxPythonlearn-01-Intro.pptx
Pythonlearn-01-Intro.pptx
 
The challenges of file formats
The challenges of file formatsThe challenges of file formats
The challenges of file formats
 
Php Symfony and software-life-cycle
Php Symfony and software-life-cyclePhp Symfony and software-life-cycle
Php Symfony and software-life-cycle
 
Perl Myths 200909
Perl Myths 200909Perl Myths 200909
Perl Myths 200909
 
In our heated learning of the scope of genetic programming, before ...
In our heated learning of the scope of genetic programming, before ...In our heated learning of the scope of genetic programming, before ...
In our heated learning of the scope of genetic programming, before ...
 
Py4 inf 01-intro
Py4 inf 01-introPy4 inf 01-intro
Py4 inf 01-intro
 
Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical
 
DIY Applied Machine Learning
DIY Applied Machine LearningDIY Applied Machine Learning
DIY Applied Machine Learning
 

Mais de Pete Prodoehl

DIY to MWO - From "Doing It Yourself” to "Making With Others”
DIY to MWO - From "Doing It Yourself” to "Making With Others”DIY to MWO - From "Doing It Yourself” to "Making With Others”
DIY to MWO - From "Doing It Yourself” to "Making With Others”Pete Prodoehl
 
Milwaukee Makerspace
Milwaukee MakerspaceMilwaukee Makerspace
Milwaukee MakerspacePete Prodoehl
 
The Maker Movement and Where It’s Going
The Maker Movement and Where It’s GoingThe Maker Movement and Where It’s Going
The Maker Movement and Where It’s GoingPete Prodoehl
 
The Importance of Blogging to the Maker/DIY Community
The Importance of Blogging to the Maker/DIY CommunityThe Importance of Blogging to the Maker/DIY Community
The Importance of Blogging to the Maker/DIY CommunityPete Prodoehl
 
Makerspaces & Makers
Makerspaces & MakersMakerspaces & Makers
Makerspaces & MakersPete Prodoehl
 
Milwaukee Makerspace
Milwaukee MakerspaceMilwaukee Makerspace
Milwaukee MakerspacePete Prodoehl
 
Blogging With WordPress
Blogging With WordPressBlogging With WordPress
Blogging With WordPressPete Prodoehl
 
Art Robots: Machines That Draw
Art Robots: Machines That DrawArt Robots: Machines That Draw
Art Robots: Machines That DrawPete Prodoehl
 
Web414 june 2011 Meeting
Web414 june 2011 MeetingWeb414 june 2011 Meeting
Web414 june 2011 MeetingPete Prodoehl
 
Web414 November 2010 Meeting
Web414 November 2010 MeetingWeb414 November 2010 Meeting
Web414 November 2010 MeetingPete Prodoehl
 
Web414 September 2010 Meeting
Web414 September 2010 MeetingWeb414 September 2010 Meeting
Web414 September 2010 MeetingPete Prodoehl
 
Web414 - Snake or Software
Web414 - Snake or SoftwareWeb414 - Snake or Software
Web414 - Snake or SoftwarePete Prodoehl
 
What is a PhotoCamp?
What is a PhotoCamp?What is a PhotoCamp?
What is a PhotoCamp?Pete Prodoehl
 
Lightbox Js (and Friends)
Lightbox Js (and Friends)Lightbox Js (and Friends)
Lightbox Js (and Friends)Pete Prodoehl
 

Mais de Pete Prodoehl (15)

Welcome to Arduino
Welcome to ArduinoWelcome to Arduino
Welcome to Arduino
 
DIY to MWO - From "Doing It Yourself” to "Making With Others”
DIY to MWO - From "Doing It Yourself” to "Making With Others”DIY to MWO - From "Doing It Yourself” to "Making With Others”
DIY to MWO - From "Doing It Yourself” to "Making With Others”
 
Milwaukee Makerspace
Milwaukee MakerspaceMilwaukee Makerspace
Milwaukee Makerspace
 
The Maker Movement and Where It’s Going
The Maker Movement and Where It’s GoingThe Maker Movement and Where It’s Going
The Maker Movement and Where It’s Going
 
The Importance of Blogging to the Maker/DIY Community
The Importance of Blogging to the Maker/DIY CommunityThe Importance of Blogging to the Maker/DIY Community
The Importance of Blogging to the Maker/DIY Community
 
Makerspaces & Makers
Makerspaces & MakersMakerspaces & Makers
Makerspaces & Makers
 
Milwaukee Makerspace
Milwaukee MakerspaceMilwaukee Makerspace
Milwaukee Makerspace
 
Blogging With WordPress
Blogging With WordPressBlogging With WordPress
Blogging With WordPress
 
Art Robots: Machines That Draw
Art Robots: Machines That DrawArt Robots: Machines That Draw
Art Robots: Machines That Draw
 
Web414 june 2011 Meeting
Web414 june 2011 MeetingWeb414 june 2011 Meeting
Web414 june 2011 Meeting
 
Web414 November 2010 Meeting
Web414 November 2010 MeetingWeb414 November 2010 Meeting
Web414 November 2010 Meeting
 
Web414 September 2010 Meeting
Web414 September 2010 MeetingWeb414 September 2010 Meeting
Web414 September 2010 Meeting
 
Web414 - Snake or Software
Web414 - Snake or SoftwareWeb414 - Snake or Software
Web414 - Snake or Software
 
What is a PhotoCamp?
What is a PhotoCamp?What is a PhotoCamp?
What is a PhotoCamp?
 
Lightbox Js (and Friends)
Lightbox Js (and Friends)Lightbox Js (and Friends)
Lightbox Js (and Friends)
 

Último

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 

Último (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

PHP Hacking: The battle between great ideas and not-so-great code

  • 1. PHP Hacking The battle between great ideas and not-so-great code Pete Prodoehl http://rasterweb.net/raster/
  • 2. PHP: Hypertext Preprocessor PHP: Hypertext Preprocessor
  • 3. Developer “Software development is the act of working to produce/create software.”
  • 4. Programmer “Computer programming is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs.”
  • 5. Hacker “Someone who plays golf poorly.” hmmm...
  • 6. Hacker “A programmer who breaks into computer systems in order to steal or change or destroy information as a form of cyber-terrorism.” uhhh...
  • 7. Hacker 1. A person who enjoys exploring the details of programmable systems and how to stretch their capabilities, as opposed to most users, who prefer to learn only the minimum necessary. 2. One who programs enthusiastically (even obsessively) or who enjoys programming rather than just theorizing about programming. 3. A person capable of appreciating hack value. 4. A person who is good at programming quickly. 5. An expert at a particular program, or one who frequently does work using it or on it; as in ‘a UNIX hacker.’ 6. An expert or enthusiast of any kind. One might be an astronomy hacker, for example. 7. One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations. From “The Jargon File” http://www.catb.org/jargon/
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. PHP “It’s like PERL, but for building web sites, and... not as good...”
  • 16. Culture Kellan Elliott-McCrea “The hardest part in working with languages I’m less familiar with (python, and php for example) rather then those I’m more comfortable with (perl or java) is not syntax questions, its culture.” http://laughingmeme.org/2002/10/23/there-has-got-to-be-a-better-way/
  • 17. Feed on Feeds An open source web-based aggregator. In 2004, I hacked the living crap out of it...
  • 18. Categorize A tool to categorize articles. In 2004, I wrote it for my employer...
  • 19. delisync A tool to sync your del.icio.us data. Open APIs are a good thing... exploit them!
  • 20. Locator A store locator using Google Maps. 90% example code 10% my own code
  • 21. Evil-O-Mator Just another silly hack... 90% silly 10% PHP
  • 22. Heard A tool to mirror your Last.fm data. Open APIs are (still) Hu b! G it good... exploit them! on Now
  • 23. MAKE COOL SHIT!
  • 24. HACK!
  • 25. Thank You Find me on the Internet! Blog: http://rasterweb.net/raster/ Email: pete@rasterweb.net Twitter: @raster

Notas do Editor

  1. \n
  2. Are there any developers here tonight?\nAny programmers here?\n
  3. \n
  4. Any Hackers?\n
  5. That describes me...\n
  6. That doesn’t describes me... in fact, I think that’s a “cracker”\n
  7. Here’s a few definitions of Hacker I can identify with...\n
  8. I’m actually a Perl Hacker... I started using BASIC around 1980, and was out of programming until about 1993. I tried to learn Perl by reading about it but it didn’t stick. (And this was MacPerl at the time!) I was using UserTalk Frontier at the time, which had this weird internal scripting language, and I did a lot of stuff in that. Eventually I started using Linux web servers and a guy I knew at work got me started in Perl. When I found my code was running about 20 times faster, I started using Perl.\n
  9. I never really got into Java... I never really liked Sun too much, and I couldn’t get into Java. Even though the open source text editor I’ve used for the last 6 years has been written in Java. I did write some BeanShell scripts. Nowadays I’m working with the Arduino and Processing, which is as close to Java as I get.\n
  10. This is your typical Java developer. An attractive looking woman with a nondescript laptop who lays on the floor with no shoes on. She’s having so much damn fun, I really want to get into Java. I actually do know an attractive woman who is reading a Java book, and when I asked why, she said to learn how to build web sites. I sort of shook my head... Rogers Cadenhead wrote it.\n
  11. Dot Net. Dear God.... As someone who has always hated Microsoft, and probably always will, I’m not about to touch Dot Net. I got burned by ASP and other Microsoft technologies, and I avoid Mono like, well Mono, and I’m not doing Dot Net.\n
  12. This is your typical Dot Net developer.\n
  13. Rails. I should probably say “Ruby on Rails” but 90% of the time I hear the word “Ruby” it’s followed by “on Rails” anyway. Rails or Ruby, or whatever, is something I should really look into, but I haven’t. I will someday... unless I don’t. I worked with a developer once who decided he’d learn Rails by writing a client application in Rails. He ended up scrapping the whole thing and re-writing it in PHP over a weekend. \n
  14. OK, seriously... if this didn’t have the names on the photo, I would have thought this was a fashion shoot for American Apparel or something. Maybe the Gap? I don’t know... Really? These guys are behind Rails? They look like male models... Did they coordinate their wardrobes? Are you allowed to be a Rails dude if you’re not good looking?\n
  15. This was my first introduction to PHP... I knew a lot of Perl hackers who started building web sites with PHP. We did a lot of complaining about how PHP did something wrong, or was missing something we used in Perl... But you know what? PHP is OK... it’s gotten much better over the years. Remember PHP3? Don’t get me started... Hey, at least it isn’t ColdFusion! Actually, speaking of ColdFusion, the biggest mistake I ever made at one of my old jobs was going along with the boss’s decision to use ColdFusion instead of PHP because “it was already installed.” I tried numerous times to get the application re-written in PHP, but it never happened.\n
  16. It’s a bit of Culture Shock really... After years of using a language, you get used to it, and know how it works, and not just the “language” but the people who use it, and develop it, and how it gets used, and the community, and all the surrounding bits that have nothing to do with code... That was my struggle with PHP. Culture is what the real difference is between Drupal and Joomla, or Apple and Microsoft, or the U.S. and Canada.\n
  17. Back when your RSS Aggregator was made by friends of yours instead of big corporations, a guy named Steve Minutillo released Feed on Feeds. I installed it on my own server and hacked the crap out of it. I added all these features I wanted to see in an aggregator. This is probably when I realized how awesome PHP was.\n
  18. I wrote this for the company I worked for at the time... I based it on Feed on Feeds to some degree. That was the application that I learned how to write PHP applications from. Chances are I did it all wrong, and continue to do it all wrong... but I don’t sort of don’t care.\n
  19. Back in 2004 or 2005 or something like that, del.icio.us used to have downtime (this is before Yahoo! acquired it) so I wrote some code to synchronize data between del.icio.us and any other service using the del.icio.us API... People actually used it!\n
  20. This past summer I had to build a store locator for a web site... Google had sample code that did most of the work, and I added a bunch of site-specific features. It’s pretty unremarkable, but I’m glad the sample was written in PHP.\n
  21. This started out as a simple project to play with HTML5, CSS3, and the <audio> tag. I ended up writing it in PHP because I figured learning a new language on top of all that was too much. I think I finished it around 4AM one night. It works. I also ended up putting a bunch of easter eggs into it later just for Tom Henrich. \n
  22. This is similar to the delisync thing. It uses the Last.fm API to pull all of my data out, store it in MySQL, and then display it on my own site. It’s a complete mirror of my Last.fm data running on my own server. I also ended up putting this on GitHub thanks to Matt Gauger. Now I’m waiting patiently for someone to make it 100 times better so I can upgrade. If it doesn’t happen... oh well. I’m really a fan of PHP letting me experiment and exercise my ideas than anything else... Oddly enough a Perl guy said he wished it was written in Perl so he could hack at it. You just can’t win...\n
  23. Hack... \n
  24. Hack... \n
  25. \n