元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 123
php覧 / PC版 /みんなの評価 :
851 = :
echo date("Y年m月d日", strtotime("2012-10-25"));
854 = :
>>850
自分のやってる正規表現で置換する以外の賢い方法を知りたかったので
>>851,853
おおー、両方とも知らなかったです
ありがとうございました
855 = :
>>854
速度は正規表現の方が劇的に速い
856 = :
存在しない日付のとき問題出るしな
出たほうがいい場合が多いが
858 = :
こういうやついるよな
860 = :
一般的なデータベースにはバイナリ文字列は入れられないのが普通。
エスケープ、エンコードして入れるのが安全。
864 = :
怪しい入力を残しておくとこうなる可能性。
SQLインジェクション - Wikipedia
SQLインジェクションとは、アプリケーションのセキュリティ上の不備を意図的に利用し、
アプリケーションが想定しないSQL文を実行させることにより、データベースシステムを不正に操作する攻撃方法のこと。
また、その攻撃を可能とする脆弱性のこと。
実例
2005年5月に発生した、価格.comのWebサイト改竄 クラブツーリズム事件の犯人は価格.comへの不正アクセスも行っていた。
2005年8月に判明した、静岡新聞社アットエスの個人情報漏洩 - クラブツーリズム事件と同一犯
2005年11月に発生した、ワコールオンラインショップのクレジットカード情報を含む個人情報漏洩
2005年11月に発生した、キッズオンラインのアカウント情報漏洩
2006年1月に判明した、スカイソフトのクレジットカード情報を含む個人情報漏洩 スカイソフトは閉店へと追い込まれた。
2007年7月に判明した、@SOLAショップのクレジットカード情報を含む個人情報漏洩
2008年3月に発生した、トレンドマイクロ、@nifty、クリエイティブメディアのWebサイト改竄
2008年3月に発生した、サウンドハウスのクレジットカード情報を含む個人情報漏洩
2008年4月に発生した、カービューのWebサイト改竄
2008年5月に発生した、アイドラッグストアー、アイビューティーストアーのクレジットカード情報を含む個人情報漏洩
2008年5月に発生した、富士山マガジンサービスのWebサイト改竄
2008年6月に発生した、アイリスプラザのクレジットカード情報漏洩
2008年7月に判明した、ナチュラムのクレジットカード情報を含む個人情報漏洩
2008年7月に発生した、米国向けプレイステーションのWebサイト改竄
2008年7月に発生した、独立行政法人石油天然ガス・金属鉱物資源機構のWebサイト改竄
2008年10月に発生した、ゴルフダイジェスト・オンラインのWebサイト改竄
2010年1月に発生した、モンベルのクレジットカード情報漏洩
2010年7月に発生した、コーエーテクモホールディングスのGAMECITY会員の個人情報漏洩
2011年4月から発生している、ソニーのプレイステーションネットワークの個人情報漏洩に始まる、ソニーグループの個人情報漏洩。
865 = :
>>863
安全な文字列へ変換してもダメなのか。そしたらわからん。
867 = :
>>863
データベースへ送信するコマンド全体をエスケープしとけ。
エスケープしてる部分としてない部分が混合すると不具合が出る可能性ある。
869 = :
え、何?
お前ら全角チルダと波ダッシュのよくある問題パターンでしょ・・・
見当はずれの書き込み多すぎワロタ
870 = :
>>869
あれはいつもの人でしょ?
872 = :
>>869
データベースには正しくエンコードしたら、jpgでもzipでも入れられるが。
任意のバイナリデータでは波ダッシュも全角チルダも含む可能性があるが、そんな問題に出会ったことがない。
挿入以外の文字コード変換でエラーになってるのでは?
873 = :
文字化けじゃなくて、DBの設定があってないだけですね。
878 = :
>>876
いまだにこういうレベルの低いノウハウがサイトに山盛り残ってるんだよな。
間違った対処法で誤魔化したりしてるから、一向に正しい知識がつかない上に、トラブルの元でしかない。
Incorrect string value のエラーを返してるのは mysql側 で \xEF\xBD\x9E が受け取れないって言ってる、
そのうえ、UTF8の他の字ならいいんだろ? DBの設定違い以外に無いじゃないか。
DBの設定をどうやって確認して、どうなってたのか見せてみ。
880 = :
文字コードの設定やデータベース仕様に左右されるのは面倒。
base64_encode(gzdeflate($bindata, 1))か
base64_encode(gzcompress($bindata, 1))
でテキストにして挿入しとけ。
データベース固有のエスケープ(エンコード)関数と比べ、サイズも速度も良い場合が多い。
882 = :
gzdeflateとgzcompressを計測してみた。圧縮率に差はでなく速度でgzdeflateが有利ぽい。
<?php
define('repeat', 1000);
$urls=array(
'http://www.youtube.com/', 'http://www.yahoo.co.jp/', 'http://www.amazon.com/', 'http://jp.msn.com/',
'',
'',
'');
$fncs = array('gzdeflate','gzcompress');
$tmp = array('time'=>0, 'size'=>0);
$cnt=array('gzdeflate'=>$tmp,'gzcompress'=>$tmp);
foreach($urls as $url) {
echo "downloading...$url\n";
$data = file_get_contents($url);
foreach($fncs as $fnc) {
echo "measuring in progress...$fnc\n";
timer();
for($n=0;$n<repeat;$n++) $cnt[$fnc]['size']+=strlen($fnc($data, 1));
$cnt[$fnc]['time']+=timer(); }
print_r($cnt); }
function timer() {
static $flg=0,$start=0;
if(!$flg) { $flg=1; $start = microtime(true); return; }
$t0=microtime(true); $t1=$t0-$start; $start=$t0;
return $t1; }
883 = :
質問させてください。
PHPでMySQLのデータを処理するにあたってですが、
一回のselectクエリで最大何件くらいのデータを取得するのがプログラム的に妥当ですか?
例えば5万件のデータがあるテーブルなら、100件とか1000件とかをLIMIT句で順々に取得した方が安全ですか?
884 = :
885 = :
>>882
そういうのは、自分のblogかなにかでやってください。
削除依頼メンドクサイです。
>>883
1件のデータ量と、マシンの能力と、それで何をするかによる。
そもそも、危険だと思ったのはなぜですか? どこかに書いてある?
886 :
>>880
これさ、後でデータを人間が探す時に苦労しねぇ?
887 :
質問ではないのですが、
5.3から導入されたネームスペースって
バックスラッシュ区切りですけど、
Perlみたいにコロン2つにできなかったんでしょうか?
何か構文的に問題があるんでしょうか?
888 = :
データビューアーを別途作るハメになる
889 = :
コロン2つってクラスメソッドとかクラス変数呼び出すときに使うじゃん
890 = :
>>887
http://wiki.php.net/rfc/namespaceseparator
891 = :
>>889
それと同じ記号ではいけない理由は?
892 = :
x.xxから導入されたネームスペースって
コロン2つ区切りですけど、
xxxxみたいにバックスラッシュにできなかったんでしょうか?
何か構文的に問題があるんでしょうか?
という質問に変わるだけだw
893 = :
メインの実行ファイルからクラスを読み込んでインスタンス作成した後、そのインスタンス中で別のクラスが必要になる時にはどのように呼ぶのが適切なのでしょうか?
1. requireはメインに戻ってする? ローダークラスなど作ってその中でrequire?
2. newはインスタンス内でする? メインでnewしてインスタンスに渡す?
こういった孫オブジェクト的なものの扱いがよくわかりません。どうかご教授ください。
894 = :
>>1もスレタイすらも読まないのは何故なのでしょうか。どうかご教授ください。
895 = :
>>888
お前みたいな荒らしをあぶりだすためですはい
896 :
スクレイピングを行う場合、
外部ライブラリを使わずに地道にHTMLコード解析して文字列操作で
今取得していますが、こういったスクレイピング方法はやはり邪道なのでしょうか?
897 = :
いいえ邪道ではありません。
899 = :
>>896
邪道も何もそこらにあるライブラリより優れてるものなら自分で作ればいい
有名なHTMLパーサでも一部のHTML解釈できなかったりするしね
それ以下のものしか使えないなら外部ライブラリに頼ってもいい、その程度
900 = :
厳密に解析してDOMツリーまで作るか、
速度重視で正規表現で狙うか、
作ったものを再利用するか、
対象HTMLの構造はコロコロ変わるか、
とかいろいろある
みんなの評価 :
類似してるかもしれないスレッド
- 【PHP】下らねぇ質問はID出して書き込みやがれ 125 (1001) - [98%] - 2013/2/4 13:30
- 【PHP】下らねぇ質問はID出して書き込みやがれ 126 (1001) - [98%] - 2013/3/19 13:15
- 【PHP】下らねぇ質問はID出して書き込みやがれ 127 (1001) - [98%] - 2013/5/26 14:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 128 (1001) - [98%] - 2013/8/4 14:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 129 (1001) - [98%] - 2013/9/18 1:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 103 (1001) - [98%] - 2011/2/14 19:50
- 【PHP】下らねぇ質問はID出して書き込みやがれ 124 (1001) - [98%] - 2013/1/10 6:30
- 【PHP】下らねぇ質問はID出して書き込みやがれ 113 (1001) - [98%] - 2012/1/1 1:00
- 【PHP】下らねぇ質問はID出して書き込みやがれ 121 (1001) - [98%] - 2012/8/14 7:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 120 (1001) - [98%] - 2012/7/25 6:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 133 (1001) - [98%] - 2014/7/8 16:30
- 【PHP】下らねぇ質問はID出して書き込みやがれ 135 (984) - [96%] - 2014/8/7 1:00
- 【PHP】下らねぇ質問はID出して書き込みやがれ 119 (1001) - [96%] - 2012/6/21 11:46
- 【PHP】下らねぇ質問はID出して書き込みやがれ 138 (991) - [96%] - 2015/1/6 8:00
- 【PHP】下らねぇ質問はID出して書き込みやがれ 137 (995) - [96%] - 2023/1/30 18:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 132 (1000) - [96%] - 2014/6/18 20:58
- 【PHP】下らねぇ質問はID出して書き込みやがれ 136 (936) - [96%] - 2014/9/18 12:45
トップメニューへ / →のくす牧場書庫について