タグ

関連タグで絞り込む (185)

タグの絞り込みを解除

phpに関するAJYAのブックマーク (520)

  • 第44回 セキュリティ対策が確実に実施されない2つの理由 | gihyo.jp

    セキュリティ対策は言語やアプリケーションを問わず非常に重要です。しかし、取るべきセキュリティ対策が確実に実施されないケースが広く見受けられます。 最近の例では次のような物があります。 WordPress Meenews 5.1 Cross Site Scripting WordPress Enable-Latex Remote File Inclusion Dolibarr 3.1.0 RC Cross Site Scripting / SQL Injection 上のURLの脆弱性も対策が簡単なものが多いですが、対策が簡単なSQLインジェクションの脆弱性も数多く見つかっています。 CMS Balitbang 3.x SQL Injection AdaptCMS 2.x SQL Injection Icomex CMS SQL Injection なぜ簡単な対策で防げる脆弱性でもセキュリテ

    第44回 セキュリティ対策が確実に実施されない2つの理由 | gihyo.jp
    AJYA
    AJYA 2011/11/29
  • PHPの文字化けを本気で解決する - ぎじゅっやさん

  • PHPの SJISと SJIS-WINの違い

    SJIS-WINとは? PHPで文字コードとして「SJIS-WIN」を指定すると、Microsoftが拡張したShift_JISであるWindows-31Jが使われる。 Windows-31Jは、Microsoftが「JIS X 0208-1990」をベースに、NECとIBMの独自拡張文字の一部(一般的にはSJISの「機種依存文字」と呼ばれる?)を取り込んだ文字コード。 (参考:Microsoftコードページ932 - Wikipedia) SJISとSJIS-WINで何が違うの? SJIS-WINの方が文字が多い。 よく使うところでは、下記のような文字はSJISーWINにはあるがSJISにはない。 丸数字 (①②③...⑳)ローマ数字 (ⅠⅡⅢ...Ⅹ、ⅰⅱⅲ...ⅹ)カッコ付きの株 (㈱)はしご高[はしごたか] (髙)たつ崎[たつさき、たちさき] (﨑) SJIS-WINにはあるがSJ

  • 【PHP】とあるページの、はてブコメント、ツイート、Facebookいいね!数を取得するテンプレコード【’11年末版】

    こんにちは。開発担当の林です。 今回はタイトル通りPHP(5.2以上)で、とあるページの、はてブコメントと、ツイート、Facebook いいね!数を簡単に取得するためのテンプレ用ソースコードです。 最低限のコードですが、比較的よく使われるものなのかなと思ってまとめました。 何かのお役に立てれば幸いです。 ※ 記事は、各サービスの公式 API を使っています。 はてなブックマークエントリー情報取得API Twitter API (日語参考:Twitter APITwitterまとめWiki ) Facebook Query Language (`・ω・´) はてブコメントと関連エントリーの取得 <?php // とあるページのアドレス(任意のアドレスをどうぞ) $sample_url = 'http://www.fenrir.co.jp/'; // はてブの情報取得 $hatena

    【PHP】とあるページの、はてブコメント、ツイート、Facebookいいね!数を取得するテンプレコード【’11年末版】
  • PHP5.4のhtmlspecialcharsに非互換問題

    第3引数を指定していない場合の影響前述のように、htmlspecialchars関数の第3引数を指定していない場合、PHP5.3までは、文字エンコーディングがISO-8859-1が指定されたとみなされます。この場合、入力内容にかかわらず不正な文字エンコーディングと判定されることはありません。したがって、文字エンコーディングのチェックが働かない代わりに、エラーになることもありませんでした。 これに対して、PHP5.4の仕様により文字エンコーディングがUTF-8とみなされた場合に、Shift_JISやEUC-JPの2バイト文字が入力されると、高い確率で「UTF-8として不正」というエラーになり、htmlspecialchars関数の出力は空になります。つまり、プログラムが正常に動作しません。 htmlspecialchars関数の第3引数を指定しておらず、内部文字エンコーディングがShift_

  • ウェブアプリのセキュリティをちゃんと知ろう

    7. ウェブアプリの入力、処理、出力入出力ウェブサーバウェブアプリ(PHP など)外部 API サーバ(Facebook API 、決済会社など)入出力処理入出力データベースサーバ(MySQL など)ウェブブラウザ 10. ウェブサーバーを通したウェブブラウザからの入力の仕様を考えようPHP に入ってくる値は何かを知る可変長のバイト列 (文字列ではない!!)GET パラメータPOST パラメータアップロードファイルリクエストヘッダ (Cookie など)実際の処理に渡すべき値は何かを考える文字列か、バイト列か?文字コードは何か?(ウェブサーバーでバイト列を処理することってあまりないので、 PHP では基的に文字コードのバリデーションは必要だと思って良い)長さはどうか?どういう文法や構造を持つデータ?入力された値を実際の処理に渡すべき値かどうかを確認することを「バリデーション」という 11

    ウェブアプリのセキュリティをちゃんと知ろう
  • PHPのイタい入門書を読んでAjaxのXSSについて検討した(1) - ockeghem's blog

    このエントリでは、あるPHPの入門書を題材として、Ajaxアプリケーションの脆弱性について検討します。全3回となる予定です。 このエントリを書いたきっかけ twitterからタレコミをちょうだいして、作りながら基礎から学ぶPHPによるWebアプリケーション入門XAMPP/jQuery/HTML5で作るイマドキのWeというを読みました。所感は以下の通りです。 タレコミ氏の主張のように、書はセキュリティを一切考慮していない 主な脆弱性は、XSS、SQLインジェクション、任意のサーバーサイド・スクリプト実行(アップロード経由)、メールヘッダインジェクション等 脆弱性以前の問題としてサンプルスクリプトの品質が低い。デバッグしないと動かないスクリプトが多数あった 上記に関連して、流用元のソースやデバッグ用のalertなどがコメントとして残っていて痛々しい 今時この水準はないわーと思いました。以前

    PHPのイタい入門書を読んでAjaxのXSSについて検討した(1) - ockeghem's blog
  • PHPスクリプトの実行時間を制御する(max_execution_time) - hogehoge foobar Blog Style Beta

    PHPで処理に時間のかかるスクリプトを実行すると以下のようなエラーメッセージが表示される場合があります。 Fatal error: Maximum execution time of 60 seconds exceeded (日語訳 -> 致命的な誤り: 超えられていた最大60秒の実行時間) 簡単に言うと、「60秒待ったけど応答が戻ってこないからタイムアウトエラーにします。」という感じです。 これを解決するにはPHPの設定オプションである「max_execution_time」の設定値を変更します。 php.iniで設定する 「max_execution_time」はphp.iniでデフォルト値が設定されています。 デフォルトは60秒なので、これを120秒や180秒にすることで、タイムアウトまでの時間を延ばす事が出来ます。 0秒を指定した場合は、「タイムアウトをしない」という設定になり処

    PHPスクリプトの実行時間を制御する(max_execution_time) - hogehoge foobar Blog Style Beta
  • 日本語のメールを送信する - メール送信(PEAR::Mail) - PEAR入門

    ヘッダーや文に日語などのマルチバイト文字列を使う場合にはメールを送信する前に適切なエンコーディングを行う必要があります。 まずメールヘッダーに日語が含まれる場合です。サブジェクトやメールアドレスの一部に日語が含まれる場合が想定されます。メールヘッダーについては文字コードとして「ISO-2022-JP」の"B" encodingを使います。 メールヘッダーを変換するには「mb_encode_mimeheader」関数を使います。(詳しくは『MIMEヘッダの文字列をエンコードする(mb_encode_mimeheader)』を参照して下さい)。 例えば次のように記述します。 $recipients = "xxx@xxx.xxx, xxx@xxx,xxx"; $headers = array( "To" => "xxx@xxx.xxxx", "From" => "xxx@xxxx.xxx

  • PHP: filesize - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

    AJYA
    AJYA 2011/07/07
    PHPのfilesize()は、2GBを超えると期待とは違う値を返すとあるが、どんな値を返すんだろ?
  • Spreadsheet_Excel_Writer

    Easy Install Not sure? Get more info. pear install Spreadsheet_Excel_Writer Pyrus Install Try PEAR2's installer, Pyrus. php pyrus.phar install pear/Spreadsheet_Excel_Writer Package Maintenance Rank: 164 of 225 packages with open bugsNumber of open bugs: 53 (321 total bugs) Average age of open bugs: 5317 days Oldest open bug: 7345 days Number of open feature requests: 17 (39 total feature requests)

  • WebデザイナーやノンプログラマーにおすすめしたいPHPの勉強法

    まったくプログラムの下地がない人がPHPの入門書を読むと挫折する。筆者はプログラミングの下地がまったくないノンプログラマーである。数年前から、PHPの勉強をや独学ではじめた。PHPは何冊買ったかわからない(洋書も含めて40冊以上は買ってきた)。買っては挫折の繰り返しだった。現在、てもとに残ったのは数冊である。 以下は、今後PHPを完全な独学で勉強したい人のためのメモである。 良でプログラミングの下地をつくる 最初のコツはいきなりPHPに手を出さないことである。とくに初心者の方がネックになるのは条件分岐、ループ、配列あたりである。このあたりはPHP以外ので定評のあるを読んで基礎を固めておきたい。 『新版Perl言語プログラミングレッスン入門編』か『初めてのプログラミング 第2版』のどちらかを読んでおこう。前者はPerl、後者はRubyであるがPHPでも基礎は同じで役に立つ。

    WebデザイナーやノンプログラマーにおすすめしたいPHPの勉強法
    AJYA
    AJYA 2011/06/26
  • PHPでWEBサイトのスクリーンショットを作成するチュートリアル:phpspot開発日誌

    Taking screenshots of websites in PHP PHPでWEBサイトのスクリーンショットを作成するチュートリアルが紹介されています。 スクリーンショットの撮影には wkhtmltopdf というオープンソースソフトウェアを利用します。 このソフト自体がMac OS XやWindowsLinuxで動作するコマンドラインツールとなっているようなのでクロスプラットフォームで動作します。 このツールを使えば、「wkhtmltoimage --quality 50 //phpspot.org/blog/ snap.jpg」のようにコマンドを打つことでスナップショットが撮れます。 コマンドラインオプションが多数あるのでPHPerじゃない方も覚えておいて損はなさそうです。 例えば、 JavaScriptをオフにした状態でスクリーンショットを撮ったり、高さや幅の指定、切抜きの

    AJYA
    AJYA 2011/06/21
    ライセンス条件確認して、商用利用可なら、何かの案件に使えるかも。
  • PHPでセキュリティを真面目に考える

    オープンソースカンファレンス2011 Hokkaido #osc11do 「PHPセキュリティを真面目に考える」 LOCAL PHP部 佐藤琢哉(@nazo) http://labs.nazone.info/Read less

    PHPでセキュリティを真面目に考える
  • サイトやブログの運営でよく使いそうな.htaccessの設定のまとめ

    ウェブサイトやブログの運営でよく使いそうな便利な.htaccessの設定を紹介します。 こういうまとめは定期的にあがってきますが、やっぱり必要なのでシェアします。 10 useful .htaccess snippets to have in your toolbox [ad#ad-2] 下記は各ポイントを意訳したものです。 URLからwwwを削除 hotlinkingの防止 feedをfeedbunnerにリダイレクト カスタムエラーページ ダウンロードファイルの処理 PHPのエラーのログ URLからファイルの拡張子を削除 ディレクトリのファイルリストを見せない ファイルを圧縮して軽量化 文字コードの指定 URLからwwwを削除 SEOなどの理由で、URLからwwwを削除して使うことがあるかもしれません。このスニペットは、あなたのウェブサイトにwww付きでアクセスしてきてもwww無しに向

  • PHPらしさを感じさせるシンプル、軽量なWebフレームワーク·Lambda MOONGIFT

    Lambda(ラムダ)はLPVモデルを用いたDRYをモットーにしたPHP製のフレームワーク。 Lambda(ラムダ)はPHP製のオープンソース・ソフトウェア。PHPには大掛かりなフレームワークは似合わないと考えている。1つか2つくらいのファイルでシンプルに作ってしまう方がPHPに向いているのではないだろうか。ソースにHTMLを書くと見栄えと保守性は悪いが、それがPHPの良さなのかと思う部分もある。 デモ。バリデーションも実装されている。 だが同じことを繰り返し書くのは問題だ。よく行う処理や、使い回しができるようなものはまとめておくべきだろう。DRYに則ったフレームワークとしてLambda(ラムダ)を紹介しよう。 Lambda(ラムダ)はPHP5.3以上で使えるフレームワークだ。LPV(Logic-Prep-View)という開発モデルになっている。Prepはヘルパー的なものと思われる。そして

  • PHPを使う上で、どう書けば高速になるか?をその場で試せるベンチマーク結果満載なサイト:phpspot開発日誌

    PHPを使う上で、どう書けば高速になるか?をその場で試せるベンチマーク結果満載なサイト 2011年05月23日- Benchmarks PHPを使う上で、どう書けば高速になるか?をその場で試せるベンチマーク結果満載なサイトがあるようです。 同じことをやるのに複数の書き方があったりしますが、2つの書き方を並べてそれぞれどちらがどれだけかかったかという結果が記載されていて面白いです。 で、そのいくらかかったか?という秒数も、ページ上でリアルタイムに計算され、リロードすると実行され、実行タイムが表示されます。 サイトの作者環境による比較ではなく、その場で動いて何度も試せるので自分でその差を確認できるのがGood。 個人的には長年PHPをやっているのですが知らなかった物も多々あり、非常に勉強になりました。 1回のロードでは結果が変になることもあるので、サーバの負荷にならない程度に数回確認させてもら

    AJYA
    AJYA 2011/05/23
    速度が気になる部分が出てきたら、チェックに使いたい。
  • x.com

    x.com
  • XAMPPでPHP開発するときのPHPUnit/XDebug設定メモ - きしだのHatena

    XAMPP1.7.4の場合。 まずはPHPUnit コマンドプロンプトを管理者として実行。 > cd \xampp\php > pear upgrade-channels > pear update PEAR > pear channel-discover pear.phpunit.de > pear channel-discover components.ez.no > pear channel-discover pear.symfony-project.com > pear install phpunit/PHPUnit で、XDebugの設定。 php.iniの設定。 php_xdebug.dllを読み込んでる行のコメントをはずす zend_extension = "C:\xampp\php\ext\php_xdebug.dll" remote_enableをOn xdebug.re

    XAMPPでPHP開発するときのPHPUnit/XDebug設定メモ - きしだのHatena
  • PHP: fopen - Manual

    パラメータ filename filename が "スキーム://..." の形式である場合、 それは URL とみなされ、PHP はそのプロトコルのハンドラ (ラッパーともいいます) を探します。 もしもそのプロトコルに対するラッパーが登録されていない場合、 PHP はスクリプトに潜在的な問題があることを示す NOTICE を発行したうえで、 filename を通常のファイルとみなしてオープンすることを試みます。 PHP は、filename がローカルのファイルを示しているとみなすと、 そのファイルへのストリームをオープンします。 そのファイルはPHPからアクセスできるものでなければなりません。 ファイルのパーミッションが (パラメータで指定された) アクセスを許可されているかどうか確認する必要があります。 open_basedir を有効にしている場合は、更なるアクセス制限が加え

    PHP: fopen - Manual
    AJYA
    AJYA 2011/05/08
    PHP:fopen()にURLを指定して、fread()でブラウザで表示される内容を読み込むことができる。