タグ

ブックマーク / techracho.bpsinc.jp (10)

  • MySQLのSET NAMESが危険な理由のおさらい|TechRacho by BPS株式会社

    1年くらい前に社内MLに投げた、「MySQLでSET NAMESを使ってはいけない理由」をコピペしてみます。手抜きです、はい。 赤字は注釈です。 今更ながら、「MySQLで SET NAMES を使ってはいけない」の根拠のお話です。 下記のPHPスクリプトでは、入力値を元にSQL文を生成し、検索クエリを投げています。 ※sqltestというDBには、カラムnameを持つuserテーブルが存在します。 GETで渡された値はきちんとmysql_real_escape_stringをかけているので、SQLインジェクションは出来ないように見えます。 しかし、http://localhost/sqltest/index.php?name=%95%5c'%20OR%201=1%20--%20にアクセスすると、全部のデータが見えてしまいます。 下にあるPHPスクリプトを、localhost/sqltes

    MySQLのSET NAMESが危険な理由のおさらい|TechRacho by BPS株式会社
    iww
    iww 2023/01/11
    phpから という但し書きが無い気がする
  • C/C++: 16進数文字列をバイト列に変換する|TechRacho by BPS株式会社

    16進数の文字列を、バイト列に変換するコードです。 再利用できそうなので貼っておきます。 void BytesFromHexString(unsigned char *data, const char *string) { printf("string:%s\n", string); int len = (int)strlen(string); for (int i=0; i<len; i+=2) { unsigned int x; sscanf((char *)(string + i), "%02x", &x); data[i/2] = x; } } (おまけ)バイト列を、16進数文字列でログ出力 void printh(unsigned char* data, unsigned int len) { for (int i=0; i<len; i++) { printf("%02x",

    C/C++: 16進数文字列をバイト列に変換する|TechRacho by BPS株式会社
  • 正規表現をチョムスキー言語学まで遡って理解する(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Exploring the Linguistics Behind Regular Expressions 原文公開日: 2017/11/20 著者: Alaina Kafkes 訳注: 原文タイトルは「正規表現を背後で支える言語学を理解する」といったニュアンスです。翻訳記事タイトルでは内容を把握しやすくするため「チョムスキー」を加えました。 正規表現は、新人/ベテランを問わずプログラマーに恐怖心を呼び起こします。私が最初に正規表現(しばしばregexと略記されます)というものを目にしたときも、()だの*だの文字だの数字だので構成された祈祷書を読んでいるうちにめまいがしてきたのを覚えています。正規表現はナンセンスで理解不能なものに思えたのです。 正規表現は、高度なコンピュータサイエンス(CS)学科で扱われるのだろうと思っていました。

    正規表現をチョムスキー言語学まで遡って理解する(翻訳)|TechRacho by BPS株式会社
  • 悲報: JetBrainsのGoプラグインがGoLand登場で終了\(^o^)/|TechRacho by BPS株式会社

    いつかその日が来るだろうなとは思っていたけど... RubyMineを2017.2.4にアップグレードした後、いつものようにGobyを開いてみると、Go言語のシンタックスハイライトが全部消えてまっちろになっている。 再インデックスに時間かかっているのかなと思ったけど、プログレスバー表示されてないし。 もしやと思ってRubyMineの設定を開いてみるとこんなメッセージが。 RubyMine+Goプラグイン、Gobyメンテ環境として最強だったのにぃ... とりあえずGoLandをダウンロードしてトライアルモードで確認することに。まずはVimプラグインをインストール。 続いてRubyMineからFile > Export Settingsで設定をエクスポートし、GoLandでFile > Import Settingsしたところ、シンタックスハイライト周りやVimキーバインドカスタマイズも含めて

    悲報: JetBrainsのGoプラグインがGoLand登場で終了\(^o^)/|TechRacho by BPS株式会社
    iww
    iww 2020/10/26
  • Bash: .bashrcと.bash_profileの違いを今度こそ理解する|TechRacho by BPS株式会社

    こんにちは、hachi8833です。社内Slackで見かけたmorimorihogeさんの以下の書き込みで目から鱗が落ちました。 ~/.bashrcで何かを出力してしまうと、rsyncなどのsshパイプで問題が生じることがあるそうです。 参考: 知らないとrsyncでもハマるシェル初期化 - Qiita これをきっかけに、できるかぎり一次情報を元になるべく一般的になるようにまとめてみました。 シェルスクリプト(.bashrcや.bash_profileなども含む)はあまりに自由に書けてしまい、LinuxディストリビューションやmacOSによって作法がまちまちだったりするので、外してはいけないポイントがどこかを知りたかったのでした。 対象はbashとsh(Bourne Shell)に限定します。また、デスクトップGUIの設定ファイルについては最小限にとどめます。 bashのmanページ 元記

    Bash: .bashrcと.bash_profileの違いを今度こそ理解する|TechRacho by BPS株式会社
    iww
    iww 2019/06/07
    自分用の設定とかツールをモリモリぶっこんだスクリプトを .bash_profile から呼び出すようにしてる。 最近は .profileがホームに無かったりするし、
  • Rubyの内部文字コードはUTF-8ではない...だと...?!|TechRacho by BPS株式会社

    こんにちは、hachi8833です。 少し前に、babaさんから「Rubyの内部文字コードはUTF-8じゃないよ」とツッコミがありました。 (追記: 上は会話の途中から切り取りましたのでご了承ください) いきなりの展開にくらくらきましたが、babaさんはさらにたたみかけます。 こうしたことはとっくにご存じの方も多いと思いますが、「Rubyといえば2.0以来UTF-8完全対応なんじゃないの」と勝手に思い込んでた私は脳に掌底をらったような思いです。ああ、でもこういうことがあるから面白い。 ⚓ プログラミング言語と内部文字コードの関係 まず最初に押さえておきたい点です。プログラミング言語で文字コードに関連する部分は、「文字列」「正規表現」「入出力」「コード中の文字リテラル(""の中など)」「コード中の文字リテラル以外の要素(変数名など)」「ファイル名」などが中心になります。そして文字列に関連し

    Rubyの内部文字コードはUTF-8ではない...だと...?!|TechRacho by BPS株式会社
    iww
    iww 2016/10/14
    脳に掌底くらうとこんなんなるのか・・・
  • Canvas Fingerprintingはクッキーより怖いのか技術的に調べてみた|TechRacho by BPS株式会社

    morimorihogeです。最近忙しくて遠征すらおぼつかない状態です。夏イベント資源足りるのかこれ。 なんかはてブ界隈などでCanvas Fingerprintingの話題が出ていて、Cookieより怖い!とか、Adblockみたいに無効にする方法がないのにユーザトラッキングできて怖い!!といったアオリの記事がぽこぽこ出てきているようです。 でも、ざっと調べた限りの日語のどの記事を読んでも、具体的にどうやってユーザ個々のトラッキングができるようになるのか、技術的に解説されている記事が見つかりませんでした。 というわけで、エンジニアとしてはここは一つキッチリ理解しておきたいと思い、調べた結果をまとめます。 もし僕の読解がおかしくて変なことを言っている部分があれば、はてブやTwitter、コメント欄などで指摘して頂ければ更新していこうと思いますので、マサカリ上等です ;) Canvas F

    Canvas Fingerprintingはクッキーより怖いのか技術的に調べてみた|TechRacho by BPS株式会社
  • チーム開発においてGit初心者が踏みがちな地雷まとめ|TechRacho by BPS株式会社

    morimorihogeです。残暑やばい。 ※元々は2014年に書いた記事ですが、2020年になっていろいろと事情も変わっているので2020年revise版として更新しました。 弊社ではバージョン管理システムにGitを使っています。 数ヶ月以上一緒にやっているある程度ツーカーなメンバーだけのプロジェクトなら問題無いのですが、案件によっては協力会社の方が一時的にJOINしたり、新規参入メンバーの参加などで、これまでGitを使ったことがない、または格的なチーム開発でGitを使ったことがない人が参加することもあります。 ※2020年現在では流石に全くGitを使ったことのない開発者というのはほぼ見なくなりましたが、チーム開発できちんと運用に乗せて使ったことがない、という所は今でもそこそこあるようです。 Gitは自由度の高いシステムですが、その分概念を覚えることが必要なため、導入の敷居が高い方だと

    チーム開発においてGit初心者が踏みがちな地雷まとめ|TechRacho by BPS株式会社
    iww
    iww 2014/04/26
    「○○しないようにしましょう」 というのはいいけど、gitってそういう機能を設定かなんかで禁止できないものなのかな。 いちいち「気をつける」のは面倒臭い
  • Windows 8でcygwinのSSH秘密鍵を使うとPermissions 0660 too openと怒られる|TechRacho by BPS株式会社

    少し古いネタになりますが、Windows 8にcygwinをインストールし、.sshにid_rsaをおいてSSH接続しようとすると Permissions 0660 for 'id_rsa' are too open. のエラーが発生することがあります。 普通に考えればchmod 600 ~/.ssh/*とやっておしまいのところですが、Windows 8のcygwinでは、chmodをしてもパーミッションが変更できません(相変わらず660のままです)。 解決方法 この場合は慌てず騒がず chgrp -R Users ~/.ssh chmod 700 .ssh chmod 600 .ssh/* でOKです。

    Windows 8でcygwinのSSH秘密鍵を使うとPermissions 0660 too openと怒られる|TechRacho by BPS株式会社
  • インストールされているfreetypeのバージョンを確認する|TechRacho by BPS株式会社

    baba 高校時代から趣味でプログラミングを始め,そのままずっとコードを書いています。2010年SFC卒業,在学中にBPS入社。ゲームなどの趣味プログラミング,Webシステム,スマホアプリ,超縦書エンジン(C++/Chromium),Webフロントエンド(TypeScript/React)などを主にやってきました。最近は自社製品(超シリーズ,くんシリーズ)の開発に関わるお仕事が中心です。管理業務もしますが,ゆとりプログラマーなので気楽にPCに向かっているのが好きです。 情報処理技術者試験(16区分 + 情報処理安全確保支援士試験),技術士(情報工学部門),中小企業診断士、Ruby Programmer Gold,AWS Certified Solutions Architect - Professional,日商簿記2級,漢検準1級。情報処理技術者試験 試験委員(2021-)。 babaの

    インストールされているfreetypeのバージョンを確認する|TechRacho by BPS株式会社
  • 1