よく、○○攻撃とか○○脆弱性とかといった、セキュリティ的にまずい部分について攻撃の手法などでまとめることがありますが、今回はコードベースで危険を感じ取れるようなまとめ方にしたいと思います。 PHPで、とあるのは例にあげるコードがPHPだからなのですが、おそらく大体の部分は他の言語でも通用するかと思います。また、ここで挙げるものが注意すべき事項全てではないことをご承知ください。。 フレームワークを使えばかなり防げてしまうような単純な例ばかりですが、参考になればと思います。 画面表示関係 これがいちばん基本的なところだと思います。 printやechoなどでユーザデータを画面に表示する箇所です。パターンとしては、大きく分けて以下の2つでしょうか。 $_GET,$_POST,$_REQUEST,$_SERVER変数の表示 データソースからの値の表示 例えば、以下のようなコードは危険な臭いがします
<?php eval("echo 'hello';"); #=> hello eval("<?php echo 'hello' ?>") #=> Syntax error... 通常evalの中では<?php 〜 ?>で囲まれた状態になっています。evalに渡す文字列の中に<?phpとかを使うとエラーになってしまいます。HTML文字列を渡してその中に含まれるPHPを展開したいということを行いたいのですが、evalに渡すだけではだめ・・・だと思っていたらやる方法があるみたいです。 <?php $html = <<<EOS <div id="content"> <?php echo \$email ?> </div> EOS; $fail = false; ob_start(); // PHP終了タグに続けてコードを渡す if (eval('?>'.$html) === false) { $f
QdmailはCakePHPのコンポーネントとしても動作します(バージョン0.7.6.a以降)。 自分自身でCakePHP内から呼ばれているのか、通常のPHPアプリケーションから呼ばれているのか判別しますので、ユーザーはファイルを使い分けたりする必要はありません。 2008-10-01追記 下記、サイトにてスマートなCakePHPでのQdmailの使い方を紹介していただいております。ぜひご参照下さい。 cakePHP メール送信はもうこれでいいでしょ -LoveIT - 安江ブログ 使い方(初期設定) 通常のCakePHPコンポーネントと同じです。 次のディレクトリに qdmail.php ファイルをコピーしてください。 app/controllers/components/ 使用したいコントローラーで、以下のプロパティの宣言を行ってください。 var $components=array(
CakePHP 1.2.0.7125 RC1.を使ってるのですが、メール送信時にメール本文をテンプレート化してそれを読み込んで送信しようと思い、検索したところ、controllerのrenderの内容を出力するob_get_clean(); の存在を知り、いろいろやってたんですがどうもうまくいかない。メール本文の内容まで画面に出力されてしまった。 駄目だったコードはこんな感じ ob_start(); $this->render(null, 'email', 'infomail'); $body = ob_get_clean(); $bodyにメール本文が入り、それをメール送信関数に渡します。 このob_get_cleanで直前までのrenderの内容を出力して変数に入れることが出来ます。 その後、該当アクションのviewのファイルが呼ばれて画面にhtml出力されます。 うまくいくとこんな感
CakePHP1.2、viewのレンダリング処理部分についてのメモ。 Controller::render() viewを解釈して、結果をoutputプロパティに文字列として格納するメソッド。 戻り値としてレンダリング結果を返す。実際の出力まではやらない。 複数回呼び出すと、出力内容は上書きされるのではなく追加されていく。 一度renderを呼び出すとautoRenderはfalseとなる。 <?php class Controller extends Object { function render($action = null, $layout = null, $file = null) { // 略(処理準備) $this->autoRender = false; // Viewのrenderが実際の処理を行う // 結果は追加されていく $this->output .= $View
2008年3月5日水曜日 view 内のforeach、if の記述 CakePHP のヴューファイルでのforeach 文、if 文の記述例。 : <table> <?php foreach ($array as $data): ?> <tr> <?php foreach ($data as $key=>$val): ?> <?php if ( !empty($val)): ?> <td><? echo $key,$val; ?></td> <? endif; ?> <?php endforeach; ?> </tr> <?php endforeach; ?> </table> : 括弧を使わない形式が何故良いのか具体的には理由が分からなかったが、Wordpress も if~endif で記述されている様なので国際化とか見易さの問題だろうか。 他言語との共通だし。 投稿者 sabot
» うまく絵が描けないときはGoogleで「How to draw ○○○」で画像検索すると参考書がわりになる / しかもタダ! 特集 うまく絵が描けないときはGoogleで「How to draw ○○○」で画像検索すると参考書がわりになる / しかもタダ! GO羽鳥 2011年9月14日 お絵描きは楽しい。自分の思い通りに描けたときは、なんともいえぬ幸せな気分になる。逆に、思い通りに描けないときは非常に悔しい。いや、普通は思い通りに描けないほうが圧倒的に多いはずだ。 そんな時に参考になるのが、「○○の描き方」などの参考書。描き方を知ってさえいれば、そこそこ上手く描けるものである。だがしかし、実はもっと簡単な方法がある。それは検索サイトGoogle(グーグル)で、「How to draw ○○○」と入力し、画像検索するだけだ。 ○○○には、描きたいものを入力する。日本語よりも英語のほうが
モバイルバッテリーとは呼べない。「ほぼポタ電」なコレ1台で有事の時もアウトドアも大活躍!【AmazonスマイルSALE】
2004年にはすでに標準ライブラリに入っていたのに「スクリプト言語でもステップ実行とかできたらいいのにね」とか言われちゃう不憫なpdbについて軽く解説。pdb不憫な子! まず適当にスクリプトを書きます。 ~$ cat t.py for i in range(10): sum += i print sum実行するとエラーになります。 ~$ python t.py Traceback (most recent call last): File "t.py", line 2, in <module> sum += i TypeError: unsupported operand type(s) for +=: 'builtin_function_or_method' and 'int'ワー、なんでエラーになったんだろー(棒読み) そこでおもむろに-m pdbをつけてステップ実行します。 ~$ p
twitter facebook hatena google pocket Googleみたいにfaviconに数字を乗せたいという人には最適なJavaScriptが登場です。 jQuery Favicon Notifierは数字表示以外に、表示位置、色まで設定可能です。 sponsors 使用方法 oodavid/jQuery-Favicon-Notifier - GitHubからファイル一式をダウンロード。 下記を書けばもう完成です。 <script type="text/javascript" src="jquery-1.6.1.min.js"></script> <script type="text/javascript" src="jquery.faviconNotify.js"></script> <script type="text/javascript"> $(functi
今回の行きたい店候補の中で、この店が一番の難問でした。 なにせ、メニューはほぼビリヤーニのみなので子供がまず食べられないし、ムスリムの人が経営している店なのでアルコールが置いて無く、料理も重いから夜に食べるにはきつい。そして翌日は別の予定があり、3日目はユニバーサル・スタジオを予約していたので昼にここまで来るチャンスはこの日のみ。 ホテルに持ち帰るという手もあったのですが、せっかくなので炊きたてアツアツのところをフガフガと食べてみたいですからね。 仕方が無いので、リトルインディアの西にあるテッカセンターで嫁さんと長女には服の買い物をしておいてもらい、次女はテッカセンターのホーカーズでプロウンミーを食べさせてから連れていき、店ではコーラを飲んでもらってその間に親父が1人で食べるという段取りにしました。 ビリヤーニは、チキンとマトンがあって、肉の多さなのかDoubleといったオプションがありま
たまたま見かけて便利そうだったので シェア。良く使われるドロップダウン メニューやページスクロール、タブや ツールチップなどを1つのjsファイルで 実装可能にする国産のjQueryプラグイン です。制作が楽になるのでLaquu、と いう名みたいです。 国産のプラグインなのでドキュメントも日本語です。英語が苦手な方でも手軽に使えるのではないかなと。また、無駄な装飾も無いので既存サイトに落とし込んだり、シンプルなフレームワークとしても良いかもしれません。 以前ご紹介したsimplelibと同様にパッケージ化されているので選択肢が増えた印象です。 シンプルで装飾も自由に出来るのでなかなか汎用的ではないかなと思います。ライセンスもMITなのはありがたいですね。 備わっている機能 機能はこんな感じ。どれも良く探している機能じゃないかなと思いますが、これらの機能を1つのjsファイルで使うことが出来る、
Captcha security check laquu.com is for sale Please prove you're not a robot View Price Processing
以下のページを参考に組み込んでみました。 Shell を使ってコマンドラインで CakePHP | バシャログ。 Shell クラスを利用した cron ジョブ – CakePHP Tips 他のサイトも見ましたが、どれも難しく解説してありますので、なるべくシンプルに分かりやすくまとめておきます。よろしければご参考にどうぞ。 Shell クラスを作る /app/vendors/shells/test.php を作って以下のようなファイルを作れば良いです。今回は初期設定やモデル定義などを含めて、ただメール送信をするコードを用意しました。テストにお使いください。 <?php App::import('Core', 'Controller'); class TestShell extends Shell { public $uses = Array('Meta', 'Data'), $Contr
The __CLASS__ magic constant nicely complements the get_class() function. Sometimes you need to know both: - name of the inherited class - name of the class actually executed Here's an example that shows the possible solution: <?php class base_class { function say_a() { echo "'a' - said the " . __CLASS__ . "<br/>"; } function say_b() { echo "'b' - said the " . get_class($this) . "<br/>"; } } class
Facebook Launches Subscribe Button for Following Anyone's Public Updates Facebook has launched a Subscribe button that lets you follow the public updates of others, regardless of whether you're Facebook friends. The new subscription options are part of Facebook's effort to give users more control over their Facebook accounts and their News Feeds. "Facebook has always been working on giving users m
1990年代初頭から記者としてまた起業家としてITスタートアップ業界のハードウェアからソフトウェアの事業創出に関わる。シリコンバレーやEU等でのスタートアップを経験。日本ではネットエイジ等に所属、大手企業の新規事業創出に協力。ブログやSNS、LINEなどの誕生から普及成長までを最前線で見てきた生き字引として注目される。通信キャリアのニュースポータルの創業デスクとして数億PV事業に。世界最大IT系メディア(スペイン)の元日本編集長、World Innovation Lab(WiL)などを経て、現在、スタートアップ支援側の取り組みに注力中。 [読了時間:2分] 過去MicrosoftでExcellチームに所属し、StackOverFlowの協同設立者でもあるJoel Spolsky氏が経営する「Fog Creek Software」は北米時間の9月13日、業務などにおけるチーム向けのコラボレー
だれかにインタビューされる、そのインタビューに答える。でも、だれにインタビューされたかはわからない。そんな、インタビューサービス。だれかにインタビューされる、そのインタビューに答える。でも、だれにインタビューされたかはわからない。そんな、インタビューサービス。
国民的な人気を誇るアイスクリーム「ガリガリ君」に、期間限定で新しい仲間が加わりました。その名も「ガリガリ君ソーダミルクプレミアム」。この商品は発売30周年記念で、初めてとなるカップアイスです。 棒が無いガリガリ君、すくって食べるガリガリ君。いままで慣れしたしんだものと違いますが、お味の方は期待を裏切らないでき栄え。特に中央にあしらわれたミルクアイスが大変濃厚で、ソーダのテイストにぴったりなのです。 製造元の赤城乳業は、1981年にガリガリ君の発売を開始。それから30年、現在年間平均で1億本以上を販売する超人気商品に成長しました。そして2011年9月13日に、製品で初めてとなるカップアイスの発売を開始したのです。 パッケージには、お馴染みのキャラクターガリガリ君の姿が描かれています。しかし、棒がないのでどこかしら違和感があります。フタを開けると、ソーダ色のカキ氷に囲まれるようにして真っ白なミ
When you buy through affiliate links in our content, we may earn a commission at no extra cost to you. Learn how our funding model works. By using this website you agree to our terms and conditions and privacy policy. We uphold a strict editorial policy that focuses on factual accuracy, relevance, and impartiality. Our content, created by leading industry experts, is meticulously reviewed by a tea
MySQLレベルでの話。 最近SQLの細かい挙動とか、しっかり把握しきれてないなーとか、 一度覚えたことが年が経ってあやふやになってるところが多くある。 また勉強し直したい。 RDBMSとうか、KVSだのNoSQLだのDBのシステムによって大きく違うと思うけれど、 私はMySQLとちょっとPostgreSQLとかSQLiteとか触ったくらいなしょっぱい男です(先の言い訳)。 主に扱うのはMySQLで、そのくらいしかついていけません(わかるとは言いません)。 「MySQLってそうなんだ〜。Oracleだとこうなんだよー、きゃははー」とか言われても、しょんぼりとしかしません。 本題。 Rails使ってると、マイグレーションファイルでDBのテーブル定義して、 rake db:migrateでマイグレーションファイルを元にテーブルが作成されちゃう。 ここで使うDBによって、うまいこと作られる型に差
에버노트에 뭐가 새로워요?에버노트에서 무슨 일이 일어나고 있는지 궁금하신가요? 아래의 기사들을 확인하여 우리가 작업 중인 흥미로운 것들을 모두 볼 수 있습니다. 새로운 소식레거시 버전 Evernote 앱 사용 중지2024년 3월 26일, 저희는 레거시 버전 Evernote 앱에 작별을 고합니다. v10 이전의 Evernote 경험을 단일화하면 보안 수준을 크게 높이고 더 빠른 개발을 위해 더 많은 자원을 투입할 수 있습니다. 더 읽기 14가지 주요 기능이 이제 모든 사용자에게 제공됩니다이 중요한 Evernote 기능들은 검색, 첨부 관리, 노트 액세스 등 핵심적인 제품 성능을 높여줍니다. 이제 누구나 그 기능을 사용해 Evernote의 잠재성을 최대한 활용할 수 있습니다.
August 27, 2024 Foursquare Data Platform: From Fragmentation to Control (Plane) In our previous blog post, we explored how the modern data platform is an unbundled version of a traditional warehouse. While this unbundling enabled independent evolution of each of the component systems, it introduced significant complexity in managing the interactions between these components to get a coherent view
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く