An explanation of your regex will be automatically generated as you type.
雇用調整助成金等オンライン受付システムにて、ブラウザの「戻る」ボタンを使うと別の会社の申請書が閲覧できてしまう事故が発生しました。この事故に着想を得て、ブラウザの「戻る」ボタンとセッション変数の関係について解説する動画を作成しました。 # 事故の原因推測ではなく、セキュリティの解説動画です スクリプト等はこちら https://github.com/ockeghem/web-sec-study/tree/master/browser-back-incident ------------ ■EG セキュアソリューションズ株式会社 https://www.eg-secure.co.jp/ ■お仕事の依頼はこちらから https://www.eg-secure.co.jp/contact/ ------------
なんか似たような設定項目がいっぱいあってわかんねーよ!とよくなるので自分用メモ。 基本的にPHP_INI_ALLなので何処でも設定可能。 有効期限関連 session.cookie_lifetime ブラウザにセッションIDのCookieを発行する際のCookieの有効期限。 ブラウザはこの期限を過ぎるとCookieを破棄するので、結果としてセッションが途切れることになる。 デフォルトは0で"ブラウザを閉じるまで"という意味。 session.gc_maxlifetime サーバに保存されているセッションファイルを保護する有効期限。 セッションデータそのものの有効期限ではないし、そのような設定項目はない。 リロードされないまま有効期限を過ぎたら、その後セッションファイルが削除される可能性がある。 デフォルトは1440秒。 session.gc_probability session.gc_
サマリ PHPサーバーサイドプログラミングパーフェクトマスターには、PHP入門書としては珍しくクロスサイト・リクエストフォージェリ(CSRF)対策についての説明があるが、その方法には問題がある。アルゴリズムとして問題があることに加えて、実装上の問題があり、そのままコピペして用いると脆弱性となる。 はじめに 古庄親方の以下のツイートを見て驚きました。 CSRF用のトークンの作成 $token = password_hash(mt_rand(), PASSWORD_DEFAULT); ってのを書籍で見た………もンのすンげぇなぁ(苦笑 書籍名でググって調べる……評判が悪いので、まぁ、納得っちゃぁ納得。 — がる (@gallu) July 17, 2019 CSRFトークンの生成に、password_hash関数を使うですと? 親方に書籍名を教えていただき、購入したのが、この記事で紹介する「PH
kintoneは、APIを通じて外部のプログラムからアクセスできます。例えば、PHPと連携すればフォームから入力された情報を kintoneに格納したり、kintoneの情報をウェブページに一覧したりできます。 そして、これらの作業をサポートしてくれるライブラリーが『Cybozu HTTP client for PHP』です。Yuichi Ochiaiさんが開発され、GitHubで公開されています。早速使ってみましょう。 インストール 本ライブラリーを利用する場合は、Composerを利用すると良いでしょう。インストールしていない場合は、次のコマンドかまたは公式サイトからセットアッププログラムをダウンロードして、セットアップします。 curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bi
はじめに FuelPHPを使っていて、セッションが切れることがあり調査していました。 ググるとドキュメントルートにファビコンが存在していないと発生するなどの記事がヒットするのですが、ファビコンだけでなく読み込んでいる画像やcssがなくても同じ事象が発生することがわかったのでまとめておきます。 結局FuelPHPだけの話ではなかったです。 原因 FuelPHPに限らず、PHPのWebアプリケーションフレームワークだと、たいてい.htaccessにこんな感じの設定があります。 リクエストされたパスがファイルやディレクトリじゃなかったら、フロントコントローラーであるindex.phpに処理を投げるというものです。 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /
PHPにおける基本的なセキュリティ対策の方法について、備忘録としてまとめます。 PHPでこれからWebアプリケーションやWebサイトを作成しようと考えている方は、各項目について対策は万全か、是非一度ご確認ください。 本記事(前編)では、以下に関する脆弱性について取り扱います。 SQLインジェクションOSコマンドインジェクションディレクトリトラバーサルセッション管理の不備クロスサイトスクリプティング(XSS)以下の脆弱性については、後編の記事をご覧ください。 クロスサイトリクエストフォージェリ(CSRF)HTTPヘッダインジェクションメールヘッダインジェクションクリックジャッキング参考サイト安全なウェブサイトの作り方:IPA 独立行政法人 情報処理推進機構 SQLインジェクションユーザーによるSQLの不正実行が可能な状態となっている、「SQLインジェクションの脆弱性」を淘汰するために、PHP
Requirements To run WordPress, it’s recommended your host supports: PHP version 7.4 or greater. MySQL version 8.0 or greater OR MariaDB version 10.5 or greater. HTTPS support That’s really it. Apache or Nginx is recommended as the most robust and featureful server for running WordPress, but any server that supports PHP and MySQL will do. That said, for the smoothest experience in setting up—and ru
GitHub - thdoan/mr-data-converter: Set your spreadsheet data free スプレッドシートのCSV/TSVデータをJSONやPHP等多数の形式に変換できる「mr-data-converter」 エクセルのデータをコピーして貼り付けるだけで各種プログラミング言語用(Perl, C#, Ruby, Python, XML ...)にコンバートできるのでCSV等のデータをプログラムに埋め込む場合などに便利 関連エントリ HTML5のデスクトップ通知を各種ブラウザで簡単実行できる「HTML5-Desktop-Notifications」 引っ張ってリロード機能をブラウザで実現するJS「pull-to-reload」 ブラウザでExcelデータを吐き出せるjQueryプラグイン「ExportToExcel」
sendmail、qmail、Postfixで送信するメールで一行あたり1000バイトを超えると、自動で改行コードが挿入される問題。 マルチバイト文字列とか全然考慮されないまま改行コードが挿入されるらしく、それが原因で日本語が文字化けてしまう。 上記のMTAに限らずどのMTAでもだいたいそういう仕様になってるっぽい。 RFCのドキュメントにも、一行1000バイト超えたメール本文を作っちゃだめだよーって明記されている。 ので、おとなしくアプリケーション側で長い行に対して改行文字を差し込む。 以下、長い行に改行文字を入れるPHPのメソッド書いた。 function _preventGarbledCharacters($bigText, $width=249) { // wordwrap()はマルチバイト未対応のため正規表現を使う。 $pattern = "/(.{1,{$width}})(?:
teratailに以下のような投稿がありました。 PHPでメールフォームを作成したので、脆弱性がないかアドバイスいただけないでしょうか。 エンジニアでもなければ、PHPもろくに書けない雑魚ですが、「php メールフォーム 作り方」でググって表示されるサイトを見ると、「んんんんん???」と思うところがあります。 これらを参考にしたり、コピペする方は、記述されているコードの良し悪しは判断できないかと思います。 そのような方々が参考にできるメールフォームを作りたいという思いで、調べて作りました。 周りに書いたコードを確認してもらえる人もいないので、皆様からのアドバイスがほしいです((_ _ (´ω` )ペコ 【PHP】作成したメールフォームに脆弱性がないか、アドバイスもらえないでしょうかより引用 どれどれ…と確認すると、トークンのチェックが入っているにも関わらずクロスサイト・リクエストフォージ
追記 (2018.12.30) PHP5.6, PHP7.1 に加えて、PHP7.2, PHP7.3 にも対応しました! また、PHP から memcached につなぐサンプルを追加しました。 はじめに こんにちは。小西です。開発環境の構築って面倒ですよねー。 今回、PHP, MySQL, PHP-FPM, nginx, memcached のローカル開発環境を、Docker を使ってコマンド一発で作られるようにしたところ、あまりに簡単で驚いたので、その方法をご紹介します。 ソースコードをgithubにおいておきます ので、すぐに起動できます! 開発環境構築のめんどくささ 僕はPHP+MySQL+nginx+PHP-FPMの環境をよく使うのですが、こういった構成をそれぞれのマシンで再現するのって結構面倒なんですよね。1プロジェクトならまだいいですが、大体プロジェクトによってそれぞれのバー
The benefits of using a “content security policy” are many. Most importantly, it will stop your users from suffering any unsolicited scripts or content or XSS vulnerabilities on your website. In this article, Nicolas Hoffmann will introduce you to this technology, and he’ll explain why awareness is the most important advantage of CSP for website maintainers. A long time ago, my personal website wa
外部から簡単にHTTP_PROXYという環境変数がセットでき、サーバ間通信や外部サイトと連携している場合に影響があるかもしれない脆弱性です。(HTTPoxy. CVE-2016-5385) PHPの場合はphp-fpm, mod_php, Guzzle4以上やいくつかのライブラリで影響あります。 対応方法は簡単です。 Apache側で対応する場合は、mod_headerを使える状況であれば、confファイルに下記の1行を追加。 RequestHeader unset Proxy FastCGIの場合は下記の1行を追加。 fastcgi_param HTTP_PROXY ""; Guzzleは6.2.1で対応されたようです。 Release 6.2.1 release · guzzle/guzzle · GitHub コミットログを見ると、CLIの時のみ、getenv('HTTP_PROXY
日本ではゴールデンウィークの真っ只中ですが、4月末から5月頭にかけていくつかサーバ管理者にとっては重要な脆弱性情報が公開されています。 日本ではゴールデンウィークの真っ只中ですが、4月末から5月頭にかけて、サーバ管理者にとっては重要な脆弱性情報(セキュリティ・アドバイザリー)がいくつか公開されています。 Apache Struts 以外は多くのサーバ環境で利用されていると思いますので、何らかの対応が必要かと思います。 OpenSSL: OpenSSL Security Advisory [3rd May 2016] ImageMagick: ImageMagick Security Issue, ImageTragick PHP: PHP 7.0.6 Released, PHP 5.6.21 is available, PHP 5.5.35 Release Apache Struts 2:
「PHP 7」正式版が登場。PHPにとって10年ぶりのメジャーバージョンアップ。実行速度は旧バージョンの2倍以上 PHPの公式サイトでは、PHP 5.6.xからPHP 7.0へ移行するためのガイド「Migrating from PHP 5.6.x to PHP 7.0.x」も公開されています。 開発者であるRasmus Lerdorf氏は10月に来日し、「PHPカンファレンス2015」で講演。PHP 7ではPHP 5との互換性を維持しつつ、2倍以上の性能向上とメモリ使用量の低減など、大きな改善が実現されことを示していました。「実際に世界中で使われているPHPアプリケーションの性能が2倍になるのが主な特長です」(Rasmus Lerdorf氏。10月に開催された「PHPカンファレンス2015」にて)。 さらにLerdorf氏は次のようにPHPにはさらに高速化の余地があると説明しています。 「
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く