検索結果
DB
- 全てのカテゴリ
- 全ての質問
- ソケットエラーについて(PHP+MYSQL)
過去ログもたくさんでていたのですが、解決しないので質問します。 PHPとMYSQLを連動させて使用したいのですが、わからないなりにサーバーの設定しています。 Fedora Core3 PHP Version : 4.3.11 Apache Version : 2.0.53 MYSQL 5.0.24a で設定しています。 PHP単体では動いています。 MYSQLもターミナル上では動いています。 PHPからの動かすと DB Error: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (13) と出たので、 mysqldをもう一度起動してみたり php.iniを /tmp/mysql.sock に変更してApacheを再起動したり my.cnfも同じ値にしているのですが (mysql.socは/tmp/にある) エラーが DB Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (13) に切り替わっただけでした。 mysqldが動いていないのかなーとも思うんですが どこから手をつけていいのかわからなくなっています。 ひとつ気になるのが、PHPのテストファイルで取得したinfoの MYSQLの 項目で MYSQL_SOCKET /var/lib/mysql/mysql.sock と出ていました。 これって関係あるんでしょうか。 別の設定があるのでしょうか・・・ それともやっぱりmysqldをあたってみたらいいのか。 みなさんのご意見をお聞かせいただければ幸いです。 あと参考になるような本があれば教えてください。 よろしくお願いします。
- IIS7.0におけるSQLインジェクション対抗策について教えてください
IIS7.0におけるSQLインジェクション対抗策について教えてください 1ヶ月ほど前からデータベースに悪質なスクリプトが書き込まれるようになりました。 そこで、DBユーザー名もパスワードも変更しましたがそれでも書き込まれるので、データベースにUPDATEもしくはinsertしているファイルにエスケープ処理をしようとしていますが、ファイル数が多いので 一旦、それらのファイルに外部からアクセスできないようにIISで設定してしまいました。 ほとんどすべてのIPアドレスからのアクセスを拒否するようにマスクは0.0.0.0に設定しています。 アクセスしようとすると403エラーになります。 ところがそれでもスクリプトが書き込まれるのです。 こういう攻撃って可能なのでしょうか? ファイルアクセス不可にも関わらず、テーブルに書き込みされるということは、ファイルにエスケイプ処理を施しても無駄だと思い、 とりあえずDBのすべてのユーザーにテーブル」への挿入・更新権限を拒否しました。 これでやっと書き込みがなくなりましたが、この設定ではWEB上から何らかのデータ操作をしようとする毎にWEBサーバーにリモートデスクトップ等でアクセスして、SQLサーバーのユーザーに権限付与しなければならず、WEBアプリケーションとしての意味がなくなります。 対応策はあるのでしょうか 大変困っています。 サーバーへの解放ポートはport80のみで、当然、SQLポート1433どは閉じています
- Javaプログラム同士のプロセス間通信について
Java初心者です。 デーモン化したJavaプログラムとJavaサーブレット間のプロセス間通信を 行いたいと思っていますがどのようにしたものか悩み中です。 ○デーモン化したJavaプログラムは、 1、あるポートからSocket通信でデータを受信し、受信したデータをDBに格納する 2、クライアントからの要求で1で保存したデータを加工して送信 ○サーブレットプログラムでは、 上記のデーモン化プログラムの設定等をブラウザ上から変更できるようにしたいと考えています。 設定とは、例えば受信したデータを全てDBに保存せずに ブラウザから条件を設定できてフィルターするような動作に変更できたり、 また、デーモン化プログラムの動作をブラウザ上から停止、開始できるようにしたいのです。 上記の様な構成の場合にプロセス間通信をする必要があると思いますが、 どの様なプロセス間通信を使えばいいのか悩んでいます。 ほんとうは上記の様な2つのプログラムを1つのプログラムで出来ればいいなぁ~と考えているのですが、、 実現方法が判りません。。 なにか名案はございませんでしょうか? わかりづらい説明でもうしわけございません。 参考になるかわかりませんが、イメージ図を、 <イメージ図> デ data 開 data ク ー --------> 発 --------> ラ タ 中 イ 鯖 鯖 アント ↑ | |設定変更 | 管 └--------- 理 者 よろしくおねがいします。
- insertができない。
insertができない。 はじめまして。PHPとDBについて質問です。 マニュアルなどを読んでいろいろといじっていたのですが、どうにもうまくできません。 詳しい方どうかお助け願います。 現在、任意のサイトからHTMLソースを取得して、それをDBに書き込みたいと考えています。 しかしプログラムを動かすと 「You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'varXYZ' + (varA1)); varABC = ('varP' + (varA1)); if( document.getElementById )' at line 1」のようなエラーが発生します。 プログラムソースはこんな感じです。 _________________________ $url = "http://www.sample.com/"; $html = file_get_contents($url); $source = htmlspecialchars($html); echo $source; ~~~または~~~ $lines = @file($url); foreach( $lines as $source_num => $source ) { $array[] = htmlspecialchars($source); } echo "<pre>"; print_r($array); echo "</pre>"; ~~~~~~~~~ 上記のようなプログラムでソースの取得はできました。 あとは単純にinsertしているのですが。 $sql = "INSERT INTO テーブル名 (source) VALUES ('$source')"; sourceの種別はtextにしてあります。 さきほどのエラーがでて、insertができません。 いろいろ検索して、serializeとかを使うのかな?とも思ったのですが、 いまだに解決には至っておりません。 どうかよろしくお願いいたします。 環境 Windows7 Apache 2.0.63 PHP 5.2.6 Mysql 5.0.51b Smarty 2.6.19 SQLite 3.5.9 PhpMyAdmin 2.11.7 SQLiteManager 1.2.0 ZendOptimizer 3.3.3
- for文の組み合わせ方 [2]
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2460708 の関連質問になります。 最初に前回コメントいただけた方にお礼申し上げます。 前回お伺いした方法で、 $sql="SELECT ID,ITEMNAME FROM ITEM ORDER BY ID"; $msql="SELECT SHOPID,SHOPNAME,ITEMNAME,IF(L.ITEM=A.ITEMID,'○','') FROM (SELECT I.ID AS ITEMID,S.ID AS SHOPID,SHOPNAME,ITEMNAME FROM ITEM I, SHOP S) AS A LEFT OUTER JOIN LINK L ON L.ITEM = A.ITEMID AND A.SHOPID = L.SHOP ORDER BY SHOPID,ITEMID"; でデータを取得し、 下記で行列に店名と商品を表示する事ができました。 $in = mysql_query($sql,$db) $in2 = mysql_query($msql,$db) $ln = mysql_num_rows($in); $ln2 = mysql_num_rows($in2); print("<TABLE border=1>"); print("<TR>"); print("<TD>"); print("</TD>"); for($i=0;$i<$ln;$i++) { $lw = mysql_fetch_row($in); print("<TD>".$lw[1]."</TD>"); } print("</TR>"); print("<TR>"); for($i=0;$i<$ln2;$i++) { $lw2 = mysql_fetch_row($in2); print("<TD>".$lw2[1]."</TD>"); //○を付ける処理 //print("<TD>".$lw2[3]."</TD>"); print("</TR>"); } print("</TABLE>"); ただ「SHOPIDが変わったら改行」という処理方法がわからずの状態になっています。 IF文で○じゃなければ<TD></TD>を埋め込む?などと思いやってみましたが やり方がおかしいのかうまくいっていません。 値の比較方法と、それをどのように組み込めばいいかコメントお願いします。 ※併せてですが、この後このPHPで作成された表をCSVに出力したいのですが、可能でしょうか?
- PHPEclipseを使ってデバッグするには?
WindowsXP上でPHPの開発環境を作ろうと思っています。 開発ツールはEclipseのプラグインであるPHPeclipseが便利そうなのでこれで行こうと思います。 その為に以下の手順で開発環境を整えたのですが、PHPのデバッガがうまく動きません。 ブレークポイントを設定してもスルーしてしまいます。 設定手順 ・XAMPP for Windows 1.5.3aをインストール ・php-switch.batによりPHP4(PHP4.4.2-pl1)に変更 ・jdk-1_5_0_08-windows-i586をインストール ・All-In-One Eclipseをインストール(Eclipse 3.2.0) ・PHPeclipse 1.1.8をインストール ・php_db.dll-4.4.2をphp_db.dllに改名しphp.iniで設定されたextension_dirにコピー。 ・xampp\apach\bin\php.iniを変更。 implicit_flush = On [debugger] extension=php_dbg.dll debugger.enabled= true debugger.profiler_enabled= tru debugger.profiler_enabled = true debugger.JIT_host = clienthost debugger.JIT_port = 7869 ・pnp.iniをxampp\php下にコピー。 ・httpd.confにaliasをワークスペース下が"http://localhost/alias/プロジェクト名/phpファイル名"で参照できるように設定。 ・Eclipseの「ウィンドウ」→「設定」より"PHP External Tools"の各項目を設定 これで一応プロジェクトが作成でき、Eclipseの「実行」→「構成およびデバッグ」で表示されるダイアログで該当プロジェクトを選択し「デバッグ」ボタンを押すとブレークポイントで、止まらずそのまま最後まで実行してしまいます。 ブレークポイントで実行を止めてステップ実行しながらデバッグするにはどうしたら良いのでしょうか? なにか解りましたらアドバイスよろしくお願いいたします。
- 締切済み
- PHP
- noname#263642
- 回答数1
- プログラムで使えるデータベースは?
最近、友人に私が個人的に作った自作ソフトを欲しいと言われました。 プログラムに長けている方々にはとっても簡単なWindowsアプリ(C#,ADO.NETにて作成)です。 入力フォームからMS-Accessにデータを蓄積し、特定出力で印刷する機能しか持ち合わせていません。 これを友人に譲るのは、問題がないのですが、 友人のPCにはAccessが入っていないとのことで、 このMS-Accessに該当するDBが無いかと探しているところです。 MS-Accessを使っているとは言っても、4つのテーブルを使っている程度です。 ちなみにOfficeは開発バージョン(?)ではありません。 候補として、MSDEやMySQLやPostgreSQL(Oracleは金額の問題で却下)などを考えたのですが、 友人いわく、それらのインストールに失敗したとのこと。 私もそれほどこれらのDBに詳しいわけでもありませんし、 友人宅に出向く機会もありません。 そこで・・・ 1.C#で使うフリー(配布可能)データベースとして、どういう手段があるのでしょうか? 2.よくフリーソフトでデータベース的なものを作っている方がいますが、あれはexeの外部にテキストデータなどのファイルにして保存しているのでしょうか? 検索の仕方が悪いのか、なかなかこの辺の情報に行き当たりません。 どなたかご回答をつけていただけると助かります。
- ベストアンサー
- その他(プログラミング・開発)
- kenton
- 回答数4
- トランザクションのネストについて
トランザクションのネストについて お世話になります。 今、ストアドの中でストアドを実行するようなSQLを作成しているのですが、 このときのトランザクション処理について教えていただきたいです。 簡単な流れとしましては Aトランザクション開始(大枠のストアド) ↓ 処理a ↓ Bトランザクション開始 ↓ (Aストアドの中のストアド実行) ↓ Bコミット ↓ 処理b ↓ Aコミット といった感じなのですが、BストアドでコミットするとBストアドをCALLする前の処理aが コミットされてしまいます。 ここはBはBだけでコミットされてほしいのです。 独自で調べた限りでは、「トランザクションのネストはMySQLではできない」ということらしいのですが、 こういった場合、どのようにしたらよいのでしょうか。 もし方法があれば、ご教示のほどお願い致します。 -環境- [DB MySQL 5.0] [OS Windows XP]
- VB6で開発されたアプリをVB2008に移植するには?
こんにちわ。よろしくお願いします。 早速ですが十年くらい前にVisual Basic(以下VB)6で開発されたアプリ(Windows用スタンドアロン。OLEコントロールやDBコントロールも使用)を無謀にも一足飛びにVB2008に移植する事になりました。 そこで質問なのですが… 1.VB2008のExpress Editionで可能でしょうか? もし無理ならどのEditionなら可能でしょうか? 2.多分、言語仕様もかなり違いがあると思うのですが、最も大きな違いや注意点があればお教え下さい。 特に経験談・苦労談などをお聞かせくだされば有難いです。 3.VB6からVB2008への移植に関して特に有用と思われる書籍やWEBサイトがあればお教え下さい。 以上、独自のノウハウとして「秘中の秘」な事もあろうかと思いますが、「ヒントのヒ」だけでも教えて頂ければ幸いです。 どうか、よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- donbei_bp
- 回答数4
- データベースが更新されない
MySQLを使ってフィールドにid、name、age、genderを持つデータベースを作りました。idは、主キーでauto_incrementです。中身は空です。 ここにPHPで <?php $conn = mysql_connect("localhost", "user", "pass") or die("MySQLに接続できません"); mysql_query("SET NAMES 'sjis'", $conn); mysql_select_db("sample4", $conn); mysql_query("INSERT INTO sample4 (id,name,age,gender) VALUES ('田中',18,1)", $conn); mysql_query("INSERT INTO sample4 (id,name,age,gender) VALUES ('鈴木',24,1)", $conn); mysql_query("INSERT INTO sample4 (id,name,age,gender) VALUES ('加藤',20,0)", $conn); mysql_close($conn); echo "初期化終了<BR>"; ?> をブラウザ上で実行したんですが、MySQLには接続でき、エラーもなく初期化完了とは出るんですが、MySQLで中身を確認してみると、 mysql> select * from samplet4; Empty set (0.00 sec) と出て空の状態です。何故でしょうか・・・。 よろしくお願いします。
- 締切済み
- MySQL
- noname#103047
- 回答数3
- PHPからMySQLの起動について
PHPからMySQLの起動について レンタルサーバーを借りてPHP,MySQLの勉強をしています。 PHPからMySQLの起動ができなくて困っていますので、教えていただきたいのですが、 <?PHP $dbkidou = mysql_connect("どこのサーバーか","ユーザー名","パスワード"); //データベースの起動ができなかった場合 if ($dbkidou == False) { print ("error"); exit; } $db = "データベースの名前"; ?> まずレンタルサーバーのドメインを「abc.com」としています。これに対するユーザー名が「def」、パスワードが「ghi」です。 そしてMySQLデータベースは「jkl_m」,「jkl_n」の2つを設けていて(phpMyAdminで作成しました)MySQLユーザ名が「opq」、パスワードが「rst」です。今回は「jkl_m」のサーバーを起動させたいのですが、上記PHP文の、 どこのサーバーか ユーザー名 パスワード データベースの名前 の各部分にどれを書けば良いのでしょうか? 何通りか試しているのですが、うまくいかないんです…
- 算数 図形問題 中学受験レベル
三角形ABCにおいて,辺AB上の点をD,辺AC上の点をEとし, DCとEBの交点をFとする。 AD:DB=1:2 CF:FD=5:1 で三角形ADFの面積は13平方cmである。 三角形FECの面積を求めよ。 という問題なのですが,何をヒントに解答してよいか分かりません。 小学校の学習範囲内の知識で解答しなくてはならないので,面積比で答えようとしたのですが,提示された条件以上のヒントを見つけることができませんでした。 色々と調べた結果,メネラウスの定理というの使えばいいのかとも思ったのですが,この定理の使い方がいまいち分かりません。それにこれが小学校の既習レベルなのかも疑問です。 どのように解けばよいのでしょうか?
- 2つのエクセルから同じデータを持つ行を出力する方法
エクセルで作成した二つのDBがあります。それぞれ、列・行の数は異なるのですが、同じ名称の列(例えば郵便番号)を持っています。 この二つのファイルから、同じ列に同じ情報をもった行を取りだす、ということをしたいのですが、関数やマクロでの実現できる方法がございましたら、教えて頂けないでしょうか。 例:二つの住所録のようなファイルAとファイルBがあって、郵便番号が154-0001のデータ(行)を、別のファイルCに出力する。(また、ファイルC上では、各データがファイルAとファイルBのどちらから出力されたものかも、判別が付くように出力したい) 分かりにくいケースで大変恐縮ですが、ご存じの方がおりましたら、どうぞよろしくお願いいたします。 ※エクセル2003を使用しています。
- ベストアンサー
- その他MS Office製品
- tsubame_fun
- 回答数5
- Tomcat上でのSessionの値の取得
Tomcat上で動作しているイントラのWebのコンテンツがあります。 サービスの要件として、Sessionの有効期限は3ヶ月になっています。 このSessionの中に最終アクセス時間を保持するように作ってあります。 1日1回夜間バッチでこのSessionの最終アクセス時間をDBに書き込むように したいと考えているのですが、そもそも他のプログラムからSessionの値を 参照することは可能なのでしょうか? イントラのシステムであり、Sessionに持っている値には重要なものはなく、 仮にセッションジャックされても大した被害になるようなものではないので セキュリティはそれほど意識する必要はありません。 どなたかこういったことを実現出来るかどうか、出来るならどうするかご存知の方いらっしゃいませんか?
- ベストアンサー
- Java
- miyamura200000
- 回答数3
- 画像のアップロード機能について
よくユーザー登録をするサイトには、自分のアイコンのような画像をアップロードする機能がありますが あのような機能を実現したい場合は、ウイルスの対策ってどうなっているのか気になりました。 自分で実現する場合下記の手順を踏みたいと思っているのですが 0:事前に画像処理用プラグインを入れておく 1:ユーザーが画像をアップロード 2:プラグインなどを用いて画像のサイズ、拡張子などがおかしくないかをチェック 3:チェックOKならばプラグインを用いて画像を必ず再生成する 4:再生成した画像を保存(DBもしくはファイル) 投稿された画像をそのまま用いることはせず 画像処理用のプラグインなどで最生成すれば安全でしょうか? 普通はウイルススキャンなどの処理を挟むのでしょうか? 画像のウイルスについて無知なので、ご教授お願いします。
- 締切済み
- ネットワーク
- yotsuba222
- 回答数1
- 配列をループさせてUPDATE
投票システムでチェックボックスから選択されたキーをまとめてUPDATEするには、 どの様なUPDATE文にすれば良いのでしょうか? -------------------------------------------------------------- for ($i = 0; $i < count(@$_POST["answer"]); $i++) { echo $_POST["answer"][$i]."が選択されました"; // ← 一応PHP上で正常に値が返るかを確認しました。 $data = $_POST["answer"][$i]; // ←変数に置き換えました。 $conn = db_conn(); $sql = "UPDATE an SET "; $sql .= " sel" . $data . "cnt = sel" . $data . "cnt + 1"; $sql .= " WHERE id = '" . cnv_sqlstr($id) . "'" ; } -------------------------------------------------------------- という様に書くと、最後にチェックしたキーのみがUPDATEされ、 その他のキーは無視されてしまいます。 echo文でPHP上で正常に走っているかどうかを確認したところ 問題はありませんでしたが、UPDATE文でデータベースに投げると 上手くいきません。 どうかご教示の程よろしくお願い申し上げます。
- Postgresのthread-safetyについ
Postgres9のconfigureで--disable-thread-safetyをセットした場合の影響について調べています。 マニュアルには -------------------------------------- クライアントライブラリのスレッドセーフを無効にします。これにより、libpqやECPGプログラム内 の同時実行スレッドは、安全にその固有の接続ハンドルを制御できなくなります。 -------------------------------------- と書かれています。 言葉の意味そのままだと、安全でなくなるように読み取れます。 JavaやPerlで作成したWebアプリからのDB操作を行なっていますが、 プログラム側で意図的にスレッドを作ったりはしていません。 このような環境で、--disable-thread-safetyにするのは何かしらの不都合が発生するのでしょうか? どういった問題が起こりえるのかを知りたいです。 どなたかご存じの方がいらっしゃいましたらご教授願います。
- ベストアンサー
- PostgreSQL
- miyamura200000
- 回答数1
- アクセスで派遣って一体・・・
DBの構築というより運用、メンテナンスの案件が私にやってきました。 なんで作成した社員は、自分で出来ないんですか? 私は、日経BPが出版している、セミナーテキスト初級編しか勉学した経験が有りません。 こんな私に出来る仕事ですか? 私がさらに、書店で買って勉学すべき本の中身が分かりません。 なぜ社員さんは、新規作成は出来たのに、編集メンテナンスが出来ないんでしょうか? ちなみに私は学生時代、フォートランしか習った経験が有りません。 運用って、本を片手には無理ですか? 日系BP応用編、片手に出来る類でしょうか? 実務経験者、語って下さい。 ちなみに、派遣会社自体は、さらに実態掴めてない様子です・・・汗 SE経験ない私が、会社見学に行くのは無理が有りますか?
- netbios-ssn(139)について
win2000の環境下でNorton Internet Security 2003を使用しています。たまにInternet Securityのイベントログをチェックしたりするのですが、10日程前からファイヤーウォールのログに、 ---------------------------------------- 規則「Windows ファイル共有を遮断」が @@@@@@@@(xxx.xxx.xxx.xxx),netbios-ssn(139) を隠しました。 ---------------------------------------- ※ @@@@@@@@は自Computer名 xxxは自IP のメッセージが呆れるほど出てくるようになりました。この一年ほどこんな事は無かったのに少し困惑しております。ここ最近でした事と言えば、HPにFileMakerで作製されたDBを公開したぐらい…。 今の所、大体1分に1件のペースでアラートされてます。PCを立ち上げるとすぐにログがあがってき、PCを終了するまで絶え間なく出てきます。 博学な技術者の方、教えて下さい。これは定期的にアタックされているだけなのでしょうか?
- No2978の追加での再質問
お礼も補足も書いてしまったためこれ以上自分で書き込みできないのですみませんが再度質問させていただきます。 NO2978での回答していただいたやり方で「半角文字+スペース」はつけることができたのですが「全角文字+スペース」、「全角文字と半角文字が混じっている+スペース」でも同じバイト数にしたいのですがどうすればいいですか? 例えば ABCDEF____ あ________ あA_______ (ただし「_」はスペースを表す) 上記の場合だとスペース込みで10バイトにしたいのです。 (文字が全角半角何が入っているかはわからない) LEFT([DBの列名] & SPACE(10),10) これだと全角半角関係なしに一文字と数えて10文字に足りない分をスペースが付け加えられます。(以下のように) ABCDEF____ あ_________ あA________ 説明が下手で申し訳ないですがよろしくお願いします。
- ベストアンサー
- Visual Basic
- moshamosha
- 回答数3