Skip to content

Instantly share code, notes, and snippets.

View simonrjones's full-sized avatar

Simon R Jones simonrjones

View GitHub Profile
@simonrjones
simonrjones / HTML5 novalidate
Last active December 30, 2015 21:39
Bookmarklet to remove HTML5 validation from any forms on a page. Useful for testing.
<a href="javascript:var f%3Ddocument.getElementsByTagName(%27form%27)%3Bfor (var i%3D0%3B i<f.length%3Bi%2B%2B)%7Bf%5Bi%5D.setAttribute(%27novalidate%27,%27novalidate%27)%3B%7D">HTML5 novalidate</a>
<?php
// Error reporting
error_reporting(E_ALL);
ini_set('display_errors', true);
// Return the Apache user
$tmpFilename = tempnam('/tmp', 'TEST');
$handle = fopen($tmpFilename, 'w');
fwrite($handle, 'testdata');
fclose($handle);
@simonrjones
simonrjones / gist:8783515
Created February 3, 2014 13:09
Sub-modules in Zend Framework. See blog post at http://simonrjones.net/2010/06/sub-modules-in-zend-framework/
<?php
/**
* Studio 24 Application
*
* @category Studio 24
* @package S24_Application
* @copyright Copyright (c) 2009-2010 Studio 24 Ltd (www.studio24.net)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @author Simon R Jones <simon@studio24.net>
* @version 1.1
@simonrjones
simonrjones / parseCsv.php
Last active August 29, 2015 14:10
Parse CSV file snippet
<?php
// Read CSV file
// PHP5.4+
ini_set('auto_detect_line_endings', true);
$file = new SplFileObject("path/to/file.csv");
$file->setFlags(SplFileObject::READ_CSV);
$line = 0;
$headers = [];
foreach ($file as $row) {
@simonrjones
simonrjones / back-page-link.js
Created December 4, 2014 19:05
JavaScript back to last page link
@simonrjones
simonrjones / delete-php-sessions.php
Last active August 29, 2015 14:16
Delete PHP sessions from the tmp folder when you have 10,000s of them which cannot be removed with a simple rm -f /tmp/sess_* command
<?php
// Clean PHP session files when you have 10,000s of them!
// Set this to the folder that contains your session files with trailing slash
// @see http://php.net/manual/en/function.session-save-path.php
$sessionTmpFolder = '/path/to/tmp/';
$x=0;
foreach (range(0,9) as $number) {
foreach (range('a','z') as $letter) {
@simonrjones
simonrjones / security-scanning
Last active October 17, 2016 15:48
Series of shell commands to help detect a PHP security exploit
# Find all Apache-owned PHP files
find /var/www -user apache -type f -name '*.php' > suspicious_files.txt
# Find all non-binary files owned by Apache that are not named .php but contain PHP parser tags
find /var/www -user apache -type f -not -name '*.php' | xargs egrep -ilI "(<\?php|<\?=|<\? *(?!(xml)))" > suspicious_files2.txt
# Find all files containing PHP parser tags in global tmp folder
egrep -ilIr "(<\?php|<\?=|<\? *(?!(xml)))" /tmp > suspicious_files3.txt
# You can inspect all the PHP files for certain strings to find potentially dodgy code. Yes, they often contain the word hack!
@simonrjones
simonrjones / rename_db
Last active May 11, 2018 10:32
Shell script to rename a database, based on https://www.percona.com/blog/2013/12/24/renaming-database-schema-mysql/ - Please note you need to ensure you have access to MySQL via your ~/.my.cnf file
#!/bin/bash
# Copyright 2013 Percona LLC and/or its affiliates
# @see https://www.percona.com/blog/2013/12/24/renaming-database-schema-mysql/
set -e
if [ -z "$3" ]; then
echo "rename_db <server> <database> <new_database>"
exit 1
fi
db_exists=`mysql -h $1 -e "show databases like '$3'" -sss`
if [ -n "$db_exists" ]; then
#!/bin/bash
# Copyright 2013 Percona LLC and/or its affiliates
# @see https://www.percona.com/blog/2013/12/24/renaming-database-schema-mysql/
set -e
if [ -z "$3" ]; then
echo "rename_db <server> <database> <new_database>"
exit 1
fi
db_exists=`mysql -h $1 -e "show databases like '$3'" -sss`
if [ -n "$db_exists" ]; then
<h1 data-wp-block="h1">My title</h1>
<p data-wp-block="p">Some text</p>
<div data-wp-block="custom-collapsable" class="faqs-component">
<ul class="accordion">
<li data-wp-block-item="1" class="accordion-navigation active">
<a data-wp-block-field="title" aria-expanded="true" href="#panel691">My FAQ question title here</a>
<div data-wp-block-field="contents" id="panel691" class="content active">
<ul>