タグ

ブックマーク / qiita.com/kawaz (9)

  • maxlengthを使ってはいけない。特にパスワード入力欄で使っちゃ駄目! - Qiita

    今日自分が体験したトラブル事例に、ユーザビリティ向上のための気づきがあったのでメモしておきます。 ※文よりまず、このコメント、こっちに言いたいことが集約されてるのでまずはこっちを読むと早いです。 ※文よりまず、このコメント、こっちに言いたいことが集約されてるのでまずはこっちを読むと早いです。 ※文よりまず、このコメント、こっちに言いたいことが集約されてるのでまずはこっちを読むと早いです。 事例:登録時のパスワードでログイン出来ない!? 今日、とあるWEBサイトでユーザ登録を行った際に、登録時に入力したパスワードでログイン出来ないというトラブルがありました。 普通は自分の入力ミスを疑うところですが、登録もログインもコピペで入力しているので入力ミスはありえ無いと思っていました。 お問い合わせフォームからバグ報告 というわけでこれはバグだろうと、お問い合せフォームから以下のような内容の報告

    maxlengthを使ってはいけない。特にパスワード入力欄で使っちゃ駄目! - Qiita
  • Bashで文字列をエスケープをする - Qiita

    Bashで文字列をエスケープするのは案外面倒くさい。 そういえばシェル文字列をエスケープするコマンドとかありそうなのに知らないし…。まぁ僕が知らなかっただけで元からあるよって場合は誰か教えて下さい。 結論を先に書いておくと、今時の新規スクリプトは printf %q "$v" を使うのが一番確実かなと思う。Bash 4.3未満で~がエスケープされないバグとかあったけど未来の保守だけ考えれば良くて過去に持ち帰る必要が無いという要件が殆どだろうしやらないよりは1万倍マシ。 手順 面倒とはいえやらなきゃいかん。 で、とりあえず 'シングルクオート最強! $a "ho ge"' てな感じでシングルクオートで囲っておけば日語や空白文字や変数やダブルクオートとかが入ってても何でもそのまま文字列として扱える。これは特定文字にバックスラッシュを付けるとかよりよっぽど簡単だし、簡単ということはミスや漏れも

    Bashで文字列をエスケープをする - Qiita
    ymm1x
    ymm1x 2019/08/27
  • 80番ポートへ届いたパケットをiptablesでローカルの上位ポートに転送する - Qiita

    例えばNode.jsとかで作ったWEBサービスを外部に公開しようとした時に、80番ポートで公開したいけど一般ユーザだと1024番より上のポートしか使えない、かと言ってrootで実行はしたくない。そんなときは iptables でREDIRECTまたはDNATしてしまうのが便利です。 雑然としたメモレベルだけど備忘録として書いておく。 簡単な例 3000番ポートで動かしているサービスを80番で公開する例はこんなコマンドを打てはOK。

    80番ポートへ届いたパケットをiptablesでローカルの上位ポートに転送する - Qiita
  • Mac新調したのでアプリや設定の個人的な棚卸し - Qiita

    「移行ツール」を使って旧Macから新Macにまるまる引っ越した場合にやることは←こちらを確認。 いろいろ入れるメモまとめ とりあえず新しい環境でターミナル開いて↓これを上から順番に実行していけば大体整うんじゃないかな。 # Homebrew 体 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew doctor # CLI系 brew install go # Go brew install node # Node brew install deno # 最近はNodeより使うかも brew install php composer # PHP brew install python # Python brew install luaj

    Mac新調したのでアプリや設定の個人的な棚卸し - Qiita
    ymm1x
    ymm1x 2018/01/14
  • 標準入力を1行ずつ配列変数に入れるまとめ - Qiita

    bashで標準入力を1行ずつ配列変数に入れるのって、なんか色々気にすることが多くて面倒くさいから一つの関数にまとめてみた。 (こんな変態関数作るほうが余程めんどくさいって?うんその通りだと思うわ。でも知見を得たら頭整理の為にも一度書き残しておかないとすぐ忘れるし、もうそういう性なので仕方ない。) こんな関数を作って # 標準入力を指定の変数名に1行1値の配列として読み込む関数 read2arr() { [[ $1 =~ ^[a-zA-Z][a-zA-Z0-9_]*$ ]] || return 1 local IFS= eval "local $1_" eval "$1=()" eval "while read -r $1_ || [[ -n \$$1_ ]]; do $1+=(\"\$$1_\"); done" } $ # 関数を読み込んでおく $ . read2arr.sh $ # テス

    標準入力を1行ずつ配列変数に入れるまとめ - Qiita
  • 最強のSSH踏み台設定 - Qiita

    追記:openssh-7.3 以降なら ProxyJump や -J が使えます ホスト名を + で繋げることで多段Proxy接続も簡単に、がコンセプトだったエントリの設定ですが、OpenSSH 7.3 から ProxyJump という設定が使えるようになったので、使えるなら ProxyJump を使う方が健全だし柔軟で使い勝手も良いのでそちらを覚えて帰ることをオススメします。 使い方は簡単で以下のような感じです。多段も行けるし、踏み台ホスト毎にユーザ名やポート番号を変えることも出来ます。 # 1. bastion.example.jp -> internal.example.jp ssh -J bastion.example.jp internal.example.jp # 2. bastion.example.jp -> internal.example.jp -> super-de

    最強のSSH踏み台設定 - Qiita
    ymm1x
    ymm1x 2017/11/14
  • PS4の設定でシェルスクリプトのデバッグが捗る - Qiita

    .bashrc とかに以下の設定を書いておくと、bash -x や set -x 状態でスクリプト実行したときに、出力がリッチになってデバッグが捗ります。 # PS4の設定でシェルスクリプトのデバッグが捗る http://bit.ly/1gncKrn export PS4='+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME:+$FUNCNAME(): }'

    PS4の設定でシェルスクリプトのデバッグが捗る - Qiita
    ymm1x
    ymm1x 2017/04/18
  • glibcの脆弱性対策(取り急ぎiptables/firewalldで叩き落とす!)for CVE-2015-7547 - Qiita

    glibcの脆弱性対策(取り急ぎiptables/firewalldで叩き落とす!)for CVE-2015-7547LinuxSecurityiptablesfirewalldglibc はじめに glibcでヤバメな脆弱性キター! 「glibc」ライブラリに脆弱性、Linuxの大部分に深刻な影響 - ITmedia エンタープライズ Google Online Security Blog: CVE-2015-7547: glibc getaddrinfo stack-based buffer overflow CVE-2015-7547: Critical Vulnerability in glibc getaddrinfo - SANS Internet Storm Center Carlos O'Donell - [PATCH] CVE-2015-7547 --- glibc ge

    glibcの脆弱性対策(取り急ぎiptables/firewalldで叩き落とす!)for CVE-2015-7547 - Qiita
  • readするときはIFS=を付けておくとstrictな感じで気持ちが良い - Qiita

    while readするならwhile IFS= readした方が良いかもよっていう話です。 説明は後にして、まずはlsしたファイル名をechoする例で違いを見てみます。 $ touch " abc " "ho ge" $'\txyz' #3つのファイルを作成します ## 普通にwhile readした場合 $ ls | while read f; do echo "[$f]"; done [xyz] [abc] [ho ge] ## IFS= を付けた場合 $ ls | while IFS= read f; do echo "[$f]"; done [ xyz] [ abc ] [ho ge] 違いは一目瞭然ですね。単にreadをした場合は、前後のタブや空白が全て消えてしまっていますが、IFS= をつけた場合はタブや空白もオリジナルのまま読み込めています。ちなみに ho ge の間は空白

    readするときはIFS=を付けておくとstrictな感じで気持ちが良い - Qiita
    ymm1x
    ymm1x 2014/11/13
    ふむ
  • 1