Skip to content

Instantly share code, notes, and snippets.

@jayzeng
jayzeng / errorhandler.php
Created January 23, 2013 08:31
global error handler
<?php
// custom error handler to suppress errors
function exception_error_handler($errno, $errstr, $errfile, $errline ) {
return '';
}
set_error_handler('exception_error_handler');
?>
<?php
class InvalidIpFormatException extends \InvalidArgumentException {}
class InvalidIpRangeException extends \InvalidArgumentException {}
class IpV4Validator
{
private $_ip;
@jayzeng
jayzeng / browser editor.js
Created January 30, 2013 05:18
ace editor
data:text/html, <style%20type%3D"text%2Fcss">%23e%7Bposition%3Aabsolute%3Btop%3A0%3Bright%3A0%3Bbottom%3A0%3Bleft%3A0%3B%7D<%2Fstyle><div%20id%3D"e"><%2Fdiv><script%20src%3D"http%3A%2F%2Fd1n0x3qji82z53.cloudfront.net%2Fsrc-min-noconflict%2Face.js"%20type%3D"text%2Fjavascript"%20charset%3D"utf-8"><%2Fscript><script>var%20e%3Dace.edit("e")%3Be.setTheme("ace%2Ftheme%2Fmonokai")%3Be.getSession().setMode("ace%2Fmode%2Fphp")%3B<%2Fscript>
@jayzeng
jayzeng / dbconnection.php
Created January 30, 2013 06:44
dbconnection
<?php
// pdo
$pdo = new PDO("mysql:host=localhost;dbname=database", "username", "password");
// mysqli, oo way
$mysqli = new mysqli('localhost', 'username', 'password', 'database');
// mysqli, procedural
$mysqli = mysqli_connect('localhost', 'username', 'password', 'database');
@jayzeng
jayzeng / namedparameters.php
Created January 30, 2013 06:51
how to do named parameters
<?php
// pdo
$params = array(':username' => 'John', ':email' => $mail );
$pdo->prepare('
SELECT * FROM users
WHERE username = :username
AND email = :email');
$pdo->execute($params);
@jayzeng
jayzeng / sql injection.php
Last active December 11, 2015 22:39
sql injection
<?php
// init connection
$pdo = new PDO("mysql:host=localhost;dbname=database", "username", "password");
// Bad bad bad!!!
// quote - ecscape + plus quote
$username = $pdo->quote($_GET['user']);
$pdo->query("SELECT * FROM users where username = $username");
@jayzeng
jayzeng / language_design.rb
Created January 30, 2013 07:31
language design
// clean language contract
[1..10].each(|i| puts i);
//
i = 0;
while true do:
i = i + 1
if i > 10:
break
end
@jayzeng
jayzeng / dex_to_dec.php
Last active December 14, 2015 11:38
hex to decimal in php
<?php
// hex
var_dump(0x9fa0ff0b);
// 5.2.1 (32bit)
// PHP truncates the long
int(2147483647)
// 5.2.3+ (32bit)
@jayzeng
jayzeng / fatal_error.php
Created March 5, 2013 06:34
fatal error
<?php
// Log down all fatal error
register_shutdown_function( function() {
$lastError = error_get_last();
if( count($lastError) > 0 ) {
Logger::log('Fatal error', implode(',', $lastError));
}
});
@jayzeng
jayzeng / healthcheck.py
Last active December 17, 2015 10:29
health check
import urllib2
import json
import argparse
import sys
class HealthCheck(object):
"""
Parse command line argument
"""
def parse_arg_options(self):