タグ

Articleとphpに関するbleu-bleutのブックマーク (259)

  • セッションの有効期間とか設定とか挙動とかを調べました - [PHP + PHP] ぺんたん info

    PHPでログインページを作ったりするときに、よくセッションを使ったりすると思いますが、 じゃあセッションってどのようになってるのでしょうか。 [参考]セッション固定攻撃 [参考]GPC(GET/POST/cookie)以外の情報を送るアラワザ [参考]アンダーバーのあるドメインではセッションクッキーは使用できません セッションの破棄されるタイミング ガベージコレクト(ガベージコレクション、ガーベッジコレクション、ガーベッジコレクタともいわれます)とは、『ごみ拾い』という意味です。 session_start()が行われたときに、session.gc_probabilityを分子、session.gc_divisorを分母とする確率で、 session.gc_maxlifetimeよりファイル更新日付の古いファイルをsession.save_pathから削除します。 デフォルトでは、1/10

    bleu-bleut
    bleu-bleut 2022/02/03
    session.gc_probabilityを分子、session.gc_divisorを分母とする確率で、 session.gc_maxlifetimeよりファイル更新日付の古いファイルをsession.save_pathから削除
  • PHPのセッションが勝手に消えてしまう問題と解決法 | 株式会社ブリッツゲート

    PHPで開発をしていると、セッションを使用することがあると思います。 これはCookieと違い、ユーザーに書き換えることができないという利点がありますが、先日、このセッションデータが勝手に消えてしまう問題が発生しました。 今回はこの時のことを書いていこうと思います。 環境について 今回、問題が発生した環境は下記のような感じでした。 新規案件としてお客様に指定された環境へ、PHPプロジェクトを構築した 他社が開発した既存のPHPシステムが複数存在していたことが問題発生後に調べて分かった PHPの設定は特に変な設定をしていない 既存のシステムではセッションも使用していたが、特に問題は発生していない 今回開発したプロジェクトで使用しているセッションデータが勝手に消えた PHPの設定を見直す まず調べたのはPHPの設定でした。 その結果、設定は下記のような感じになってました。 session.co

    PHPのセッションが勝手に消えてしまう問題と解決法 | 株式会社ブリッツゲート
    bleu-bleut
    bleu-bleut 2022/02/03
    別のシステムと同じセッションパスの場合、すべてのセッションファイルがGCの対象になり、gc_maxlifetimeを長く設定しても別のシステムが短いとそのタイミングでGCが走る
  • PHPはもうダメだ、PHP万歳! | POSTD

    (編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) GutenbergとWordPressに関する騒動は、PHPの終焉につながる最新記事です。深呼吸をしてください、みなさん。トロールは無視し、Mark TwainとFidel CastroとPHPとの共通点を見ていきましょう。そして、もっと重要なのは、スタートアップやスモールビジネスにとって、PHPが今でも合理的な選択である理由です。 PHPはいつから廃れ始めたのか “PHPはもうダメだ”といったブログの投稿が、登場し始めたのは2011年のようです(これより古いものを見つけたら、お知らせください)。Mediumや、mushroomsのように突然出現したcoding bootcampsを探し回れば、その唯一の共通点は、みんながPHPを嫌っているか、あるいは単に無視しているかです。どうやら、法外な値段のコー

    PHPはもうダメだ、PHP万歳! | POSTD
  • apache+Cakephpで環境変数を利用する - Qiita

    Amazon linux2 Apache 2.4 PHP 7.2 Apache側 systemdユニットファイルで環境変数リストファイルを読み込めるように設定 Environmentに直接定義してもいい EnvironmentFileには、環境変数リストファイルをセット

    apache+Cakephpで環境変数を利用する - Qiita
  • mongodb/mongodb - Packagist

    README This library provides a high-level abstraction around the lower-level PHP driver (mongodb extension). While the extension provides a limited API for executing commands, queries, and write operations, this library implements a full-featured API similar to that of other MongoDB drivers. It contains abstractions for client, database, and collection objects, and provides methods for CRUD operat

  • array_mergeとarray+arrayの挙動の違いを検証してみました - Simple, Slowly

    array_mergeとarray+arrayの挙動の違いの理解が曖昧だったので検証してみました。 例1 基的な配列の場合 <?php $array1 = array(1, 3); $array2 = array(2, 4); $result1 = array_merge($array1, $array2); $result2 = $array1 + $array2; print_r($result1); print_r($result2); ?> Array ( [0] => 1 [1] => 3 [2] => 2 [3] => 4 ) Array ( [0] => 1 [1] => 3 ) 結果 array_merge キーが同じでも完全にマージされている。 array1 + array2 両方の配列に同じキーが存在する場合は前方の配列が残り、 後方の配列は無視されている。 例2 連

    array_mergeとarray+arrayの挙動の違いを検証してみました - Simple, Slowly
    bleu-bleut
    bleu-bleut 2019/05/04
    array_mergeは後方のデータが優先される。 array+arrayは前方のデータが優先される。 データをマージする際には、array_mergeを使う方が直感的であるし、ネストしたデータの消失も防げることからarray_mergeを使うべき・
  • に関する記事一覧

    に関する記事一覧
  • PHPの正規表現・・・「~で始まる」「~で終わる」にマッチ! - プログラミングで飯を食え。腕をあげたきゃ備忘録!

    サクウェブTVはコチラ↓↓↓ 完全なメモですが・・・ 「~で始まる」にマッチ if(preg_match("/^apple_/",$str)){ echo "$strはapple_で始まります!"; } 「~で終わる」にマッチ if(preg_match("/apple_$/",$str)){ echo "$strはapple_で終わります!"; } 「~で始まる」且つ「~で終わる」にマッチ(つまり完全一致) if(preg_match("/^apple_$/",$str)){ echo "$strはapple_です!"; } 「~を含む」にマッチ if(preg_match("/apple_/",$str)){ echo "$strはapple_を含みます!"; } 「~または・・・」 if(preg_match("/(apple_|orange_)/",$str)){ echo "$s

    PHPの正規表現・・・「~で始まる」「~で終わる」にマッチ! - プログラミングで飯を食え。腕をあげたきゃ備忘録!
    bleu-bleut
    bleu-bleut 2017/10/02
    preg_match、「~で始まる」「~で終わる」「~で始まるかつ~で終わる」「~を含む」「~または」
  • 22 Open Source PHP Frameworks To Save Time

    22 Open Source PHP Frameworks To Shorten Your Development Time PHP is a widely used programming language for web development. Although there are a lot of alternative programming languages for web development such as ASP and Ruby, but PHP is still the most popular among them. So, what makes PHP so popular? PHP is so popular because it is relatively easy to learn compare to other language. Furthermo

    22 Open Source PHP Frameworks To Save Time
  • Cloud Vision APIの使い方まとめ (サンプルコード付き)

    投稿日:2016/02/22 Googleが提供する、開発者向けの画像認識サービス、Cloud Vision APIの使い方を、初心者でも分かるようにまとめました。サンプルプログラム用の言語として、PHPを使っています。 Cloud Vision APIを利用するには認証が必須です。認証の種類は様々ですが、この記事では一番手軽なAPIキーによる認証を説明します。ということで、認証に必要となるAPIキーをまずは取得しましょう。 課金設定についてCloud Vision APIを利用するには、請求が発生する、しないに関わらず、クレジットカード(またはデビッドカード)を登録し、課金を有効な状態にしなければいけません。そして、Google Developers Consoleにおいては、課金を無効にすることはできても、登録したカードの情報を削除することができない仕様になっています。これらを踏まえて

    Cloud Vision APIの使い方まとめ (サンプルコード付き)
  • websec-room.com - websec room リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

    websec-room.com - websec room リソースおよび情報
    bleu-bleut
    bleu-bleut 2017/04/13
    ログイン、新規登録、リマインダー、パスワードリセット、パスワード強度、パスワード管理、XSS対策、SQLインジェクション対策、CSRF対策、メールヘッダーインジェクション対策。
  • nginx と PHP-FPM の仕組みをちゃんと理解しながら PHP の実行環境を構築する

    DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS" PHP-FPM って何? Answer PHP: FastCGI Process Manager (FPM) - Manual FPM ( FastCGI Process Manager ) は PHP の FastCGI 実装のひとつで、 主に高負荷のサイトで有用な追加機能を用意しています。 そもそも CGI って何? Common Gateway Interface (CGI) - Wikipedia Common Gateway Interface(コモン・ゲートウェイ・インタフェース、CGI)は、ウェブサーバ上でユーザプログラムを動作させるための仕組み。 現存する多くのウェブ

    nginx と PHP-FPM の仕組みをちゃんと理解しながら PHP の実行環境を構築する
    bleu-bleut
    bleu-bleut 2017/03/12
    apacheみたくモジュールとしてでなく、nginx上ではFast CGIとして動作する。
  • Amazon Dash Button にみるドメイン特化クラスのヒント - Shin x Blog

    この投稿は、PHP Advent Calendar 2016 - Qiita の 7 日目です。 DDD のようなドメインを意識した開発手法でなくても、ドメインコンテキストで必要な操作のみを実装したクラスを作ってみましょう話です。 Amazon Dash Button Amazon Dash Button は、ボタンが一つだけあるデバイスです。このボタンを押すと、あらかじめ決められた商品の注文が Amazon に送信され、商品が配送されるというシンプルなものです。 このデバイスは、「商品を届けて欲しい」というユースケースに対して、ボタンを押すというシンプルなインターフェイスを実装しています。単にボタンを押すだけなので、その裏側でどのようにして実現されているかを知らずとも、誰もが利用できます。違う言い方をすれば、ボタンを押す(商品を注文する)ことしかできないので、操作方法を覚える必要もなく、

    Amazon Dash Button にみるドメイン特化クラスのヒント - Shin x Blog
    bleu-bleut
    bleu-bleut 2016/12/16
    単なる継承ではなく、ドメイン特化クラスによる委譲。
  • 正規表現 PHPのpreg_match色々(全角や漢字も許可など) - Qiita

    Help us understand the problem. What are the problem?

    正規表現 PHPのpreg_match色々(全角や漢字も許可など) - Qiita
    bleu-bleut
    bleu-bleut 2016/09/04
    「正規表現は悪手である」を心に刻む。あと、HANで漢字を一括りにできる。
  • ereg_matchとpreg_matchの違いについて教えて下さい。

    まず最初に結論から書きますが、私は、非マルチバイト文字か UTF-8 文字コードの文字列を扱うのであれば、preg_match など PCRE 正規表現を用いており、それ以外の(UTF-8 以外のマルチバイト文字を扱う)場合のみ、mb_ereg などの mberegex 正規表現を用います。 その理由は以下の通りです。 ereg 系の regex 正規表現は PHP 5.3 以降非推奨になっているため。 mb_ereg 系の mbregex の正規表現についての詳細が PHP マニュアルにないため。 preg 系の PCRE 正規表現のパターン修飾子や、構文などについて、PHP マニュアルで詳細に記述されているため。 PHP の正規表現 まず、PHP には3つの正規表現を行う関数群があります。 preg 系正規表現 (PCRE) ereg 系正規表現 (regex)(非推奨) mb_ere

    ereg_matchとpreg_matchの違いについて教えて下さい。
    bleu-bleut
    bleu-bleut 2016/09/04
    preg系正規表現(PCRE)はUTF8対応、ereg系正規表現(regex)はマルチバイト非対応で非推奨、mb_ereg系正規表現(mb_regex)はUTF8以外を処理。
  • PHPとgoto文 (PHP Advent Calendar 2011 24日目)

    PHP Advent Calendar 2011の24日目です。 前日はbornknow108さんのPHPでIPMessangerでした。 何を書いてもいいとのことなので、PHPの黒歴史ことgoto文についてまとめてみます。 goto文とは goto文は、プログラム中の任意の位置にジャンプする構文です。処理を先に進めたり、戻ったりすることができます。 echo 1; goto third; echo 2; third: echo 3; //→13と表示され、2は表示されない gotoはとても低レベルな命令であり、これとif文さえあればほとんどの論理構造は書けてしまいます。要は強力すぎるため、gotoを多用して書くと大変読みにくいプログラムができあがります。 この件はDijkstra先生の論文「Go To Statement Considered Harmful」で有名になりました。プログラ

    PHPとgoto文 (PHP Advent Calendar 2011 24日目)
    bleu-bleut
    bleu-bleut 2016/08/28
    多重ループの脱出 > breakでできる、エラー処理 > try~catchでできる、リソース解放 > デストラクタでできる、だけど処理の流れを変えることができるので何か有用な使い方があるんじゃないか。
  • JPEGファイルのEXIFヘッダは危険(かもしれない) - Qiita

    これ以上ない小ネタですw JPEGファイルのEXIFヘッダは、位置情報を埋め込んだりできて便利(?)ですが、先日このEXIFヘッダにPHPコードを仕込むマルウェアが発見されており、画像を自由に登録できるサービスを提供している場合は注意が必要です。 (実際には、この方法でサイトの閲覧者に任意のコードを実行するにはEXIFヘッダに埋め込まれたコードを取得&実行するスクリプトを事前にサーバに配置しておかなければならないため、危険度はそれほど高くはないと思われます) ただ、ジオタグ(位置情報)など、個人情報が含まれる画像が意図せずアップロードされることは可能性としてあると思いますので、サービス側としては不要なEXIFタグは削除して登録したいものです。 こういう場合、対応手段としては コマンドで一括して削除する PHP Exif LibraryなどEXIFヘッダを読み書きできるライブラリを使い削除す

    JPEGファイルのEXIFヘッダは危険(かもしれない) - Qiita
    bleu-bleut
    bleu-bleut 2016/08/11
    Exif情報に不正なスクリプトが埋め込まれてたらどうするんだよ…とはいえ、サービス側で不要なExifタグをGDで削除してしまうの?
  • PHPで、JPEGファイルのコメントデータやExif情報を削除する - Qiita

    概要 JPEGファイルのコメントデータ及びExif情報を、ライブラリを使用して削除します。 前投稿「PHPで、PNGファイルのコメントデータを削除する」はPHP標準関数だけで処理しましたが、 PNGと違ってJPEGの直接操作は断念したためライブラリ使用の方法を投稿します。 前回同様、WindowsPHP 5.4.5での動作は確認できています。 他の画像形式のコメントデータを削除したい場合、関連記事を参照してください。 使用ライブラリ The PHP JPEG Metadata Toolkit PHP4での動作を前提とした設計となっており、かなり古米のライブラリです。一部修正が必要ですが、きちんと動作しました。 このライブラリそのものには、PHP Exif LibraryのようにExif情報の削除関数などは存在しません。 そこで、The PHP JPEG Metadata Toolkit

    PHPで、JPEGファイルのコメントデータやExif情報を削除する - Qiita
    bleu-bleut
    bleu-bleut 2016/08/11
    Exif情報を修正、削除するツールとしてPHP Exif LibraryとThe PHP JPEG Metadata Toolkit。でもまぁ、元の画像ファイルを改変することになるので、あまり使わないかな。
  • PHPで画像のEXIF(位置情報)を取得する方法

    JSON { "FileName": "photo.jpg", "FileDateTime": 0, "FileSize": 125729, "FileType": 2, "MimeType": "image/jpeg", "SectionsFound": "ANY_TAG, IFD0, COMMENT, EXIF, GPS", "COMPUTED": { "html": "width=\"800\" height=\"600\"", "Height": 600, "Width": 800, "IsColor": 1, "ByteOrderMotorola": 1, "ApertureFNumber": "f/2.4" }, "Make": "Apple", "Model": "iPhone 5", "Orientation": 1, "XResolution": "72/1", "YRe

    PHPで画像のEXIF(位置情報)を取得する方法
    bleu-bleut
    bleu-bleut 2016/08/11
    exif_read_data()で読み取って、60進数を10進数に変換。
  • Node.js覚えたくない人のためのphpで始めるWebSocket | Webuilder240

    なぜphpなのか? Node.jsとかだと環境の構築とかを新規で必要なので、 まずは環境の構築がすでにしてあるphpで試してみようかなと思った次第です。 ちなみにぼくは、Node童貞です。 今回の動作環境 php 5.5.10でテストしています。 ライブラリのインストールにComposerを使用しているのでまだの人は導入しておいてください。 おそらくphp 5.4以上なら問題なく動作するかと思います。 サンプルコードのダウンロードは下記リンクからどうぞ。 php_websocketserver ソースコードの内容について chat.php (Websocket Server) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

    bleu-bleut
    bleu-bleut 2016/07/11
    PHPのwebsocketライブラリとして「ratchet」を使用。