タグ

ブックマーク / qiita.com/rana_kualu (12)

  • StackOverflowからのコピペをやめろ。今すぐにだ。 - Qiita

    Original article:https://dev.to/dotnetsafer/rip-copy-and-paste-from-stackoverflow-trojan-source-solution-4p8f その昔コピペできない文章というものがありました。 実際は単にフォントを変えているだけというものですが、人間の目に見える文字と実際の文字が異なることを利用した攻撃の一種と見ることもできます。 さて、最近になって似たような攻撃に関する論文が公開されました。 人間には見えない文字を織り交ぜることによって、一見問題ないコードが実は脆弱になってしまうというものです。 ただ論文は堅苦しいうえに長くて読むのがつらいので、具体的に何がどうなのかよくわかりません。 平易に解説している記事があったので紹介してみます。 以下はDotnetsafer( Twitter / GitHub / Web

    StackOverflowからのコピペをやめろ。今すぐにだ。 - Qiita
  • 【PHP8.1】PHP8.1の新機能 - Qiita

    PHP8.2 / PHP8.1 / PHP8.0 / PHP7.4 2021/11/26にリリースされました 2021/07/20、PHP8.1がフィーチャーフリーズしました。 言語機能に関わるような機能の追加・変更が締め切られたということです。 今後はデバッグを繰り返しながら完成度を高めていき、2021/11/25にPHP8.1.0がリリースされる予定です。 というわけでPHP8.1で実装されるRFCを見てみましょう。 RFC Fibers 賛成50反対14で受理。 Fiberです。 PHPで非同期コードを書けるようになります。 $fiber = new Fiber(function (): void { $value = Fiber::suspend('fiber'); echo "レジュームした。$value: ", $value, "\n"; }); $value = $fiber

    【PHP8.1】PHP8.1の新機能 - Qiita
  • 【PHP8.1】PHPで簡単に非同期処理を書けるようになる - Qiita

    PHPは長きにわたり同期的、すなわち、あらゆる処理を上から順に実行していくというスタイルを取ってきました。 しかしたとえば、複数のURLからデータを取ってきて結果をまとめたいといった場合、時間のかかるHTTPリクエストは同時に投げたいですよね。 この用途にはGuzzleというライブラリが存在し、これを使えば同時にリクエストを投げられます。 しかし、ではHTTPアクセスとDBアクセスを同時にやりたい場合は? 時間のかかる計算を裏でやりたい場合は? などと考え始めると、こういった個別のライブラリでは対処しきれません。 ということで汎用的な非同期処理をPHPで書けるようにするRFCが提出されました。 PHP RFC: Fibers Introduction 人類史上ほぼ全ての期間において、人々はPHPを同期的なコードとしてのみ書いてきました。 同期的に実行されるコードのみが存在し、そしてそれを同

    【PHP8.1】PHPで簡単に非同期処理を書けるようになる - Qiita
  • Bashの邪悪なコマンド9選 - Qiita

    rm -rf /やったことある人。 私はないです。 以下はAndreas Müller( Twitter / GitHub / LinkedIn / Medium )による記事、9 Evil Bash Commands Explainedの日語訳です。 9 Evil Bash Commands Explained 初めてターミナルを使って、そしてそれを理解したときのことを覚えています。 あらゆるファイルにアクセスし、全てのプログラムを実行し、黒い画面に何かを入力するだけでシステムの全てを完全に掌握できることに気がついた、あの感覚。 そしてもちろん、致命的ミスを犯して全てを失った、あのときの恐怖も。 私は当はシステム管理者ではありませんが、長年にわたってLinux/UNIXベースのシステムで作業してきたので、コマンドを実行しようとしてEnterキーを打つことを躊躇う状況に何度も遭遇しまし

    Bashの邪悪なコマンド9選 - Qiita
  • 【PHP7.4】PHP7.4がリリースされたので新機能全部やる - Qiita

    PHP8.1 / PHP8.0 / PHP7.4 2019/11/28にPHP7.4.0がリリースされました。 ということで、ここではドキュメント化されている新機能や変更点を片端から試してみます。 これら以外にもドキュメント化するほどでもない軽微な変更が多々入っているはずですし、単なるバグ修正も山ほどあるのですが、今回はそのあたりには触れません。 把握しきれていませんしね。 インストール 古いXAMPPが入っていたらディレクトリまるごと削除。 最新のXAMPPをインストール。 WindowsPHPからVC15 x64 Thread Safeをダウンロード。 解凍したディレクトリをpath\to\xampp\phpにまるごと上書きコピペ。 php.ini-developmentをphp.iniにコピー。 php.iniのextension_dirをエクステンションが入ってるディレクトリへの

    【PHP7.4】PHP7.4がリリースされたので新機能全部やる - Qiita
  • 【PHP7.4】PHPの新たな演算子??=ってなんぞ? - Qiita

    2019/01/22(JST)にImplement ??= operatorという謎のマージがありました。 RFC RFCは賛成37、反対4の圧倒的多数で可決されています。 なお投票開始は2016/03/24で、終了が2016/04/02です。 つまり、それ以来3年弱ほったらかされていたということです。 ??=ってなに? RFCでは『Null Coalescing Assignment Operator』と呼ばれています。 どうも適切な日語がないみたいなのですが、NULL合体演算子(Null Coalescing Operator)から類推すると『NULL合体代入演算子』とかになるんですかね? 名前のとおり、NULL合体演算子と代入演算子を合わせたような演算子です。 使い方 // NULL合体代入演算子 $id ??= getId(); // これと同じ $id = $id ?? get

    【PHP7.4】PHPの新たな演算子??=ってなんぞ? - Qiita
  • async/await地獄 - Qiita

    地獄を抜けたらそこは地獄だった。 以下はHow to avoid (or escape) async/await hellという記事の日語訳です。 How to avoid (or escape) async/await hell async/awaitはたしかに我々をコールバック地獄から解放してくれました。 しかし、それは恐るべき地獄の、ほんのプレリュードにすぎなかったのです。 そう、async/await地獄の誕生です。 この記事ではasync/await地獄が何であるか、そしてそれから逃れるためのヒントをいくつか紹介します。 What is async/await hell 非同期JavaScriptを使用する際、しばしば複数の関数呼び出しすべてにawaitをつけがちです。 これによってパフォーマンス上の問題が発生します。 あるステートメントは別に手前のステートメントに依存はしてい

    async/await地獄 - Qiita
  • 2018年のフロントエンドエンジニアならこの程度は知ってて当然だよな? - Qiita

    可及的速やかにReactが絶滅しますように。 以下はFront-End Developer Handbook 2018の第三部、Front-end Developer Toolsからリンクされているツールと、その簡単な紹介です。 ドキュメントツール 開発者向けドキュメント、APIリファレンス Dash 200以上のAPIリファレンス、100以上のチートシートを一括ダウンロードできる。有料、Mac用。 DevDocs 200以上のライブラリをオンラインで検索できる。無料。 Velocity 中身はDashと同じ。有料、Windows用。 Zeal WindowsLinuxMacOS用各種揃っている無料のオフラインドキュメント。 チートシート devhints.io JavaScriptCSSGovim等のショートカット、書式などチートシート。字が薄くて見辛い。 SEOツール Key

    2018年のフロントエンドエンジニアならこの程度は知ってて当然だよな? - Qiita
  • 2018年のパスワードハッシュ - Qiita

    数年前であれば仕方なかったところですが、2018年の今となっては、パスワードハッシュの手動計算はもはや"悪"です。 まずログイン認証と称してmd5とかsha1とか書いてあるソースはゴミなので投げ捨てましょう。 hashやcryptは上記に比べればずっとマシですが、使い方によっては簡単に脆弱になりえます。 あと『パスワードを暗号化する』って表現してるところも見なくていいです。 PHPには、ハッシュに関わる諸々の落とし穴を一発で解消してくれるpassword_hashという超絶便利関数があるので、これを使います。 というか、これ以外を使ってはいけません。 以下はフレームワークを使わずに実装する際の例示です。 フレームワークを使っている場合は当然その流儀に従っておきましょう。 ハッシュの実装 データベース ユーザ情報を保存するテーブルを作成します。 パスワードカラムの文字数は、システム上のパスワ

    2018年のパスワードハッシュ - Qiita
  • 2017年のフロントエンドエンジニアならこの程度は知ってて当然だよな? - Qiita

    って海の向こうの人が言ってました。 私はjQueryさえあれば概ね生きていけるので全然知らないけど、 あなたは全部知ってるフロントエンドエンジニアなんだね。すごーい! 以下はFront-End Developer Handbook 2017の第三部、Front-end Developer Toolsからリンクされているツールと、その簡単な紹介です。 ドキュメントツール Dash 150以上のライブラリのAPIリファレンスを検索できる。有料、Mac専用。 DevDocs 200以上のライブラリをオンラインで検索できる。無料。 Velocity 中身はDashと同じ。 有料、Windows専用。 Zeal 200以上略 無料のオフラインドキュメント。 SEOツール Keyword Tool 検索ワードを入れると関連キーワードを教えてくれる。 Google Webmasters Search C

    2017年のフロントエンドエンジニアならこの程度は知ってて当然だよな? - Qiita
  • サニタイズ/入力値検証/エスケープの考え方 - Qiita

    サニタイズって言うと怖い人たちがやってくるから言わないようにしましょう。 サニタイズは入力値検証もエスケープもなにもかもを含んだ広い意味になってしまったので、うっかり言ってることがい違うと大変です。 入力値検証は、PHPの外からPHPに入ってくる値を検証することです。 外というと主に$_REQUEST/$_GET/$_POST等のリクエストパラメータがイメージされますが、実際はそれ以外にも環境変数、コマンドライン引数、ファイルやデータベースからの読み込みなど、PHP以外からやってくる全てのものを指します。 入力値検証はセキュリティ対策ではない もう入力値検証はセキュリティ対策としてあてにしないようにしようという記事がありますが、「もう」以前に、そもそも入力値検証は根的にセキュリティ対策ではありません。 入力値検証は、『入力値が要件として正しい値か否かをチェックする』機能であって、そこに

    サニタイズ/入力値検証/エスケープの考え方 - Qiita
  • 却下されたPHP RFCを見てみる その1 - Qiita

    その1 / その2 / その3 Declined RFC 最近のPHPでは、新機能はまずML等にアイデアを出してRFCを作成し、投票において有権者の2/3の賛同を得て初めて導入されるという流れになっています。 その関門を通り抜けたものだけが新機能としてデビューできるわけですが、中には当然却下されたものも存在します。 せっかくだから却下されたRFCを、新しい順に10件見てみます(2016/08/09時点)。 今後通りやすいRFCを提案する際の参考になるかもしれません。 その2に続くかどうかは不明。 New operator for context-dependent escaping 賛成0/反対27で却下。 <?* $str, 'html' ?> <?= htmlspecialchars($str, ENT_QUOTES | ENT_HTML5 | ENT_DISALLOWED | ENT

    却下されたPHP RFCを見てみる その1 - Qiita
  • 1