Skip to content

Instantly share code, notes, and snippets.

View moznion's full-sized avatar

moznion moznion

View GitHub Profile
package main
import "fmt"
func main () {
// 見つめ合う
fmt.Println("おっくせんまん!おっくせんまん!!")
defer fmt.Println("ジャパン!!!");
}
// ==UserScript==
// @name display datetime on Github issue
// @namespace userjs.com.cosmio.pastak
// @description
// @include https://github.com/*/pull/*
// @include https://github.com/*/issues/*
// ==/UserScript==
$(function() {
var usdate = $('.discussion-topic-header time').attr('datetime');
var msec = msec = Date.parse(usdate);
@hitode909
hitode909 / 43.go
Created November 20, 2013 11:41
package main
import "fmt"
func mynumber() map[string]func(int) int {
sum := 0
result := make(map[string]func(int)int)
result["add"] = func(x int) int {
sum += x
return sum
# 私が考える安全なプログラムを書くために必要なこと
今も昔も「入力によって挙動が大幅に変わるAPI」が世の中には多数存在していて、プログラマが本来意図した挙動と異なる動作を引き起こしている。
- ファイルを開こうとしたらコマンドを実行できてしまったり
- CSSセレクタを書いてるつもりがHTMLタグを生成してしまったり
- SELECT文を発行するつもりがDELETE文を発行できてしまったり
こういったときに
- 入力値検証をしないと危険になる
@tokuhirom
tokuhirom / sqli.md
Last active November 30, 2025 13:12

SQLインジェクション対策について

教育的な観点ではなく実務的な観点から、僕の考えをまとめてみる。UTF-8 を利用し、SET NAMES を利用していなくて mysql で、クライアントプリペアドステートメントなケースを想定している。

SQL インジェクションとは

$foo=$_POST[‘id’];
query(“SELECT * FROM foo WHERE id=$foo”);

のように外部からの文字列をそのまま使用してクエリを組みたてたときに、意図せぬ SQL を発行されてしまう脆弱性のことである。

@hayajo
hayajo / 00.md
Last active March 8, 2020 16:05
NDS#36 Go言語入門
@diverted247
diverted247 / vuejs.d.ts
Created March 15, 2014 20:06
Early Version of VueJS Type Defintion
declare var Vue: VueStatic;
interface VueObject{
}
interface VueMethods{
[n: string]: Function;
}
interface VueAttributes{
@hisaichi5518
hisaichi5518 / JSON.pm
Created March 18, 2014 09:31
HTTP::Body::JSON
package HTTP::Body::JSON;
use strict;
use warnings;
use parent qw(HTTP::Body);
use JSON::XS;
use HTTP::Body;
use Encode qw(encode_utf8);
# based on tokuhirom-san's code
diff --git a/lib/Plack/Request/WithEncoding.pm b/lib/Plack/Request/WithEncoding.pm
index 45d3d3f..aa8f36b 100644
--- a/lib/Plack/Request/WithEncoding.pm
+++ b/lib/Plack/Request/WithEncoding.pm
@@ -81,11 +81,34 @@ sub _decode_parameters {
my @flatten = $stuff->flatten;
my @decoded;
while ( my ($k, $v) = splice @flatten, 0, 2 ) {
- push @decoded, $encoding->decode($k), $encoding->decode($v);
+ push @decoded, $self->__decode($encoding, $k), $self->__decode($encoding, $v);
@motemen
motemen / Ojisan-Patterns.md
Last active March 7, 2025 08:19
おじさんパターン集
  • その面白そうな話、私も参加していいよね?なぜなら私は無条件に受け入れられているからおじさん(闖入おじさん) #おじさんパターン
  • 後出し難癖おじさん #おじさんパターン
  • 困難は成長のチャンス!だから君たちに成長の機会をあげようおじさん (成長おじさん) #おじさんパターン
  • あらゆる事案に一般論コメントおじさん #おじさんパターン
  • 俺ってあらゆることに精通してるじゃん?だから力になるよおじさん (精通おじさん) #おじさんパターン