11/06/22 01:30:18.05
そういう事なら>>798だな
801:nobodyさん
11/06/22 01:44:54.58
>>798>>800
ありがとうございマッスル!
802:nobodyさん
11/06/22 22:26:57.31 NELxxc8x
少々質問です。
現在PerlにてCGIを作成していたのですが、うまく動かず、簡単な物でテストをしてみました。
エラーはInternal Server Errorです。
1例:(拾ってきたもの)
#!/usr/local/bin/perl
print <<"_HTML_";
Content-Type: text/html; charset=Shift_JIS
<html>
<head><title>テスト</title></head>
<body><p>CGIテスト</p></body>
</html>
_HTML_
803:nobodyさん
11/06/22 22:31:25.77 NELxxc8x
2例:(今覚えていた物で文字列書き出すだけの物)
#!/usr/local/bin/perl
print "CGIテスト\n";
exit;
私は2例目のを動かしたいのですが、動かず、ネットで拾ってきた1例目のだけはちゃんと表示されます。
考えられる原因は何か無いでしょうか?
現在試したのは.htaccess、パーミッションの変更あたりです。
宜しくお願いします
804:nobodyさん
11/06/22 22:40:01.44
エラー見てみると、Premature end of script headersとかでていないかい?
2番目のスクリプトも正しくはあるのだが、CGIとしては正しくない、という事だ。
コンソール上では動くはずだよ。
詳しくは、HTTPでも調べてみると理解できるかな
805:802,803
11/06/22 22:44:03.04
お早いレス感謝、エラー自体は>>802に記載した物しか出てないんです。
Premature~のを検索かけてみた所、対処方法がいくつか見つかりましたので少々やってみます
806:802,803
11/06/22 23:06:48.52
だめだ・・・意味が分からない
何がだめなんだ・・・
807:802,803
11/06/22 23:15:12.53 NELxxc8x
今したいことというのが、フォームで入力したものをCGIで処理させたいのですが、
URLリンク(www.web-liberty.net)
URLリンク(www.aimix.jp)
このあたりのを参考にしようと思っていたのですが、うえに書いたInternal Server Errorが出てしまいます。
もちろんパスは何度も確認してるし処理自体もある程度把握してはいるつもりなので間違ってないとは思うのですが、何がおかしいのでしょうか・・・。
ちなみに、Premature end of script headersで検索かけて出てきた対策は一通りやってみましたがやはり駄目なようです
808:nobodyさん
11/06/22 23:24:02.32 aqGoSPtZ
Content-Type 行を出す。
1行空ける。
それから出したいものを書く。
809:802,803
11/06/22 23:34:23.29 NELxxc8x
これで駄目でした・・・
#!/usr/local/bin/perl
print "Content-Type: text/html; charset=Shift_JIS\n\n";
print "CGIテスト";
810:802,803
11/06/22 23:39:06.01
何か勘違いしてるんでしょうか
ちょっともう少し原因調べつつperlの勉強し直してみるでもしないとだめか・・・
811:nobodyさん
11/06/22 23:39:23.09
× #!/usr/local/bin/perl
○ #!/usr/bin/perl
812:802,803
11/06/23 00:59:37.00 2qDcnB00
すいません、原因が分かりました
どうやら文字コードがANSIになっていなかったせいでエラーが出ていたようです
お騒がせしてすみませんでした。
813:nobodyさん
11/06/23 05:39:16.72
いやいやいやいや
そんなんでエラー出ねぇよw
814:nobodyさん
11/06/23 05:45:24.26
改行コードじゃないの
815:nobodyさん
11/06/23 05:46:21.52
改行コードかバックスラッシュ辺りだろ
Shift_JISなんて9年前の腐った牛乳使ってるからだ
816:nobodyさん
11/06/23 05:48:29.81
Windowsでコード書く気しねぇわ
817:802,803
11/06/23 14:26:51.90 2qDcnB00
いやInternal Server Errorが出る物を、単純にANSIで保存してUPしてやると普通に動作してくれたもので。
ツールの設定でANSIで自動的に保存するように指定してたのですが、なぜかその設定が効かずにUnicodeで保存してしまっていたのが問題だったようです。
・・・って結局改行コードが原因なんだろうか。
818:nobodyさん
11/06/23 16:10:21.64
Internal Server Errorってブラウザばっか見てても
なかなか解決しないよ、ログ見るとかコンソールで
実行して見るとかしないと
819:nobodyさん
11/06/23 17:16:56.37
UTF-8N だからエラーが出たんだろ?
フラグ無し UTF-8 で保存してみなよ
820:nobodyさん
11/06/23 17:17:24.30
てか、使ってるエディタは?
821:nobodyさん
11/06/23 17:18:19.55
メモ帳か
メモ帳の UTF-8 は BOM が付くから駄目
822:nobodyさん
11/06/23 23:14:25.06
BOMだな
何度これで悩んだことか……。
ファイルの先頭でエラーになる
823:nobodyさん
11/06/23 23:18:00.35
あとWindowsで書いたShift-JISファイルをLinuxやBSDのnkfでUTF-8に変換しても駄目な時あるよね
BOM, 改行コード, バックスラッシュ, チルダのどれかが引っかかる。
824:nobodyさん
11/06/24 00:12:30.54 gNVDUPJy
Shift_JISを名乗っているがその実態はCP932だったりするからな。
825:nobodyさん
11/06/24 00:32:57.54
>>824
M$謹製Shift_JISか > cp932
826:nobodyさん
11/06/27 17:27:30.81 k6qUSqXq
URLリンク(ecs.amazonaws.jp)
Service=AWSECommerceService
&AWSAccessKeyId=[AccessKey]
&Version=2009-07-01
&Operation=ItemLookup
&IdType=ISBN
&ItemId=4043671024
&SearchIndex=Books
上記のようにISBNでリクエストすると大丈夫なのですが、
下記のようにSKUでリクエストすると
「20110317B012は、ItemIdの値として無効です。
値を変更してから、再度リクエストを実行してください。」
とエラーメッセージが出ます。2011~は現存のskuです。
なぜエラーメッセージが出るか教えてください。
どうしたら正常にリクエストできますか?
URLリンク(ecs.amazonaws.jp)
Service=AWSECommerceService
&AWSAccessKeyId=[AccessKey]
&Version=2009-07-01
&Operation=ItemLookup
&IdType=SKU
&ItemId=20110317B012
&SearchIndex=Books
&MerchantId=[my id]
827:nobodyさん
11/06/27 18:59:16.95
SKUでリクエストできる、って書いてあるのかい?
828:826
11/06/27 19:47:28.17 k6qUSqXq
>>827
書いてありますよ。
アマゾンのapi 開発ガイドのapiリファレンスの中にある
オペレーション Itemlookup リクエストパラメータ Idtypeに
「商品の検索に使う商品IDの種類。全ての IdTypes (ASINxを除く) では、SearchIndexを指定する必要があります。SKUでは、MerchantIdも指定する必要があります。詳細については、商品ID をご参照ください。
タイプ: 文字列
デフォルト: ASIN
有効な値: SKU | UPC | EAN | ISBN (US のみで、サーチインデックスが Books の場合有効) | JAN. UPCはCAサイトでは無効です。」
URLリンク(images-na.ssl-images-amazon.com)
829:826
11/06/27 19:52:31.22 k6qUSqXq
ちなみにAという商品にはJANコード(バーコード)が付与されていて
Asinというアマゾンが付与した番号とひもづいています。
Aという商品に出品者がつけた管理番号がSKUです。
830:nobodyさん
11/06/27 20:03:27.84
>>828
SKUの場合、ItemIDは必ずしもISBNじゃないよ。
つか何故にSKU使おうとしてる?
831:830
11/06/27 20:07:41.87
あ、ごめん。管理番号は別にあるのね。
とりあえずレスポンスをDumpかな。あとマルチいくない。
832:nobodyさん
11/06/27 20:08:42.44
何はさておき先ずリクエストと参照するマニュアルとでAPIのバージョンくらいは合わせてはどうか
833:826
11/06/28 00:27:50.41 qpEJzhM0
>>831
レスポンスをDumpってどういうことでしょうか?
具体的に何をすればいいでしょうか?
すみません、調べても何をしたらいいか全くわからず
質問しても回答が無かったのでマルチしてしまいました。。
ちなみに下記がエラーになった内容です。
一部IDなどは伏せるため変更しています。
<ItemLookupResponse>
-
<OperationRequest>
-
<HTTPHeaders>
<Header Name="UserAgent" Value="Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.4; ja-JP-mac; rv:1.9.2.18) Gecko/20110614 Firefox/3.6.18"/>
</HTTPHeaders>
<RequestId>c669d70f-98f7-4efd-816b-a76b4dd2d6a3</RequestId>
-
<Arguments>
<Argument Name="Operation" Value="ItemLookup"/>
<Argument Name="Service" Value="AWSECommerceService"/>
<Argument Name="Version" Value="2009-07-01"/>
<Argument Name="SearchIndex" Value="Books"/>
<Argument Name="Signature" Value=" "/>
<Argument Name="MerchantId" Value="My ID"/>
<Argument Name="ItemId" Value="20110317B012"/>
<Argument Name="IdType" Value="SKU"/>
<Argument Name="AWSAccessKeyId" Value="MY keyID"/>
<Argument Name="Timestamp" Value="2011-06-27T15:19:36.000Z"/>
</Arguments>
<RequestProcessingTime>0.0161250000000000</RequestProcessingTime>
</OperationRequest>
-
<Items>
834:nobodyさん
11/06/28 00:28:24.44 qpEJzhM0
-
<Request>
<IsValid>True</IsValid>
-
<ItemLookupRequest>
<Condition>New</Condition>
<DeliveryMethod>Ship</DeliveryMethod>
<IdType>SKU</IdType>
<MerchantId>MY ID</MerchantId>
<OfferPage>1</OfferPage>
<ItemId>20110317B012</ItemId>
<ResponseGroup>Small</ResponseGroup>
<ReviewPage>1</ReviewPage>
<ReviewSort>-SubmissionDate</ReviewSort>
<SearchIndex>Books</SearchIndex>
<VariationPage>All</VariationPage>
</ItemLookupRequest>
-<Errors>-
<Error>
<Code>AWS.InvalidParameterValue</Code>-
<Message>
20110317B012は、ItemIdの値として無効です。値を変更してから、再度リクエストを実行してください。
</Message>
</Error>
</Errors>
</Request>
</Items>
</ItemLookupResponse>
835:826
11/06/28 00:53:46.66 qpEJzhM0
デバッガにプログラム読ませると言っても
プログラムというよりURLを送信して情報をリクエストしているので
ダンプの仕方がわかりません。
836:nobodyさん
11/06/28 10:34:17.56
ログイン画面作っているんですが、CSRF対策まわりについて教えてください。
最初に表示するパスワード入力画面では、GETではなくPOSTリクエストの時に表示しろということなので、
別のページに飛ばして、そこからPOSTしてきてもらうようにすればいいのでしょうか?
ログイン画面でPOSTリクエストを受け取った画面でセッションIDとワンタイムトークンを発行し、
ワンタイムトークンをhiddenフィールドに埋め込み、またサーバセッションに格納。
ログイン認証画面でhiddenとサーバセッションに格納したものを突き合わせ合致したら正当なリクエストとみなす。
ということでいいのでしょうか?
流れ
1, GET/login→2, GET/cushion→3, POST/login→4, POST/valid
1, ログイン画面→2, POSTできるとことに飛ばす→3, ログイン画面→4, 認証
(または2を省略して1から3へ自分自身をPOSTしなおす)
処理
1, cushionに飛ばす(GETの時はセッションをまだ発行しない)→2, loginにPOSTする→
3, セッションIDを発行してクッキーに保存&ワンタイムトークンをhiddenフィールドとセッションオブジェクトに格納→
4, hiddenフィールドとセッションオブジェクトのワンタイムトークンを突き合わせ正当なリクエストか確認&パスワードチェック
あとは3の後にリロードしてGETリクエストになった場合、セッションオブジェクトを破棄する感じでいいでしょうか?
837:nobodyさん
11/06/29 06:11:19.52 rTqnEVjS
サイトの携帯版の開発について質問します
どういう方法で、PC, ガラケー, スマートフォンの画面切り替えをするのが良いんでしょうか?
フレームワークを使ってるんですが(php, zendFW)フロントコントローラで
1、携帯キャリアのIPアドレスでPC版とわける
2、****の方法でガラケーとスマホをわける
3、それぞれの端末タイプに応じてモジュール|view出力|CSSなどを切り替える
とイメージしたんですが、2の****の方法がわかりません(質問1)
また、携帯キャリアのスマートフォンのテザリングを利用して
携帯キャリアのIPアドレスからPCのユーザがアクセスすることも考えられます。
どうしたら良いんでしょうか?(質問2)
それとは逆に、家庭内のLANなどwifiネットワークからスマフォがアクセスすることも
考えられます。これもどうしたら…(キャリアIPアドレスでの判別ができなくなるのでは)
あと、よく携帯版のサイトで、サブドメインを m.hogehoge.comなどと
携帯用に用意してるものがあります
どうしてこんなことをするんでしょうか?(質問3)
アクセス解析しやすいかなと思うけど、それ以外に理由はあるんでしょうか
長くなってすみません、ご意見よろしくお願いします
838:nobodyさん
11/06/29 08:13:31.68
>>837
メディアクエリ
839:nobodyさん
11/06/29 11:08:14.16
サーバー(WEB鯖、メール鯖、DNA鯖)を立てて運用しているのですが、
PHPとMySQLを連携させたウェブアプリを作ろうと考えています。
よく、WEB鯖とデータベース鯖は同じ鯖にしないというレスを見かけるのですが、
ウェブで調べていても、WEB鯖とデータベース鯖が同じ鯖で手順を記載している場合が多く、
書籍でも別の鯖で連携させている方法を見かけません。
具体的にWEB鯖とデータベース鯖を別に立てて運用するような場合の
参考になるサイトなどありますでしょうか?
840:nobodyさん
11/06/29 11:45:30.78
サーバ構築とかスレ違い
自宅サーバ板にでもいくといい
それだけじゃなんなのでアドバイスを1つ
とりあえず2つIP用意しとけ
841:nobodyさん
11/06/29 13:14:23.51
>>838
どうもありがとうございます
そんなものがあったんですね、参考にします
842:nobodyさん
11/06/29 20:33:01.30
servletでセッション攻撃を防ぐにはどういったことをすればよいですか?
ログアウト時に session.removeAttribute でログイン情報のセッション変数を削除すれば大丈夫ですか?
843:nobodyさん
11/06/29 20:57:58.31
セッション攻撃といっても色々あるからなあ
844:nobodyさん
11/06/29 23:38:38.65
>>843
セッションハイジャックなどによるログインユーザへのなりすましを防ぎたいです。
現在行っている処理は、
・ログイン認証成功時にセッション変数に特別な値を設定
・セッション変数の特別な値でログイン状態を判断してアクセス可否をフィルタで切り分け
・ログアウト時にセッション変数の特別な値を消す
だけです。
特別な値を消しているので、戻るボタンで戻ってもログインユーザ向けのページは開けないので、
大丈夫だとは思うのですが、どこかのサイトで同じセッションIDを使い続けるとヤヴァいと見たので、
それがとても気になっているのです。
※すべてのページでキャッシュを無効(+有効期限を強制的に超過させる)にしています。
845:nobodyさん
11/06/30 09:12:30.51
>>844
IPアドレスやUAも同一かチェックすればほぼ大丈夫でしょう
846:nobodyさん
11/06/30 15:23:32.26
セッションファイルが残ることを危惧してるなら
ログアウト時にセッション変数を完全に消せばおk
これでセッションハイジャックされても
ログイン情報は残ってないのでできない
(通常ログインに成功したらセッション変数にユーザ名とかを入れて
その変数の有無でログイン状態を確認するので)
まぁ普通セッションIDは類推されにくいものなので
こちらの心配はほぼしないでも大丈夫
ログイン中のハイジャック対策でプログラム側が行えるのは
XSSによるクッキー漏洩対策ぐらい
(通常クッキーにセッションIDを入れるので)
ログインフォームやログイン後の入力フォームに
XSS脆弱性がなければまぁ問題ないでしょう
あとログイン時にセッションを発行するだろうけど
ログイン成功時にセッションを再発行して
そっちのセッションを使うとなおよい(前セッションは破棄)
847:nobodyさん
11/06/30 21:48:13.33
>>846
ありがとうございます。
参考にさせて頂きます。
ところでセッションIDを変更する件ですが、色々試したところ無事できました。
ログイン前のセッションを破棄した後、getSession(true) で新しいセッションを生成すればできました。
新しいセッションにログイン判断用の特別な値をセットできましたし、肝心のIDもきちんと変わっていました。
※getId()でサーバ側、火狐のプラグインでクライアント側を確認できました。
こんな簡単なことで何時間も悩んでいたのがバカらしいです。(-_-;)
848:nobodyさん
11/06/30 21:59:06.09 TyzTN8BV
>>845
ありがとうございます。
IPアドレスはフィルタークラスでチェックするようにしました。
他にも色々と対応策を探します。
849:nobodyさん
11/07/01 16:47:33.63 yvC2EG+s
解決方法が解らないのでお知恵をお願いいたします。
現在レンタルスペースを利用しています。
そちらにperlスクリプトをアップロードしても、
変更前のスクリプトがそのまま実行されてしまうことがあります。
もしかして、中間言語か何かにコンパイルされて、
何らかの処理を行わないとあまりリコンパイルされないとか、
そういう仕様があるのでしょうか?
お力をお願いいたします。
850:nobodyさん
11/07/01 16:57:57.20
どのサービスを使ってるのかくらいは明らかにして欲しいのですが、
perlなりphpなりの結果をキャッシュする仕組みは存在します。
ただ、本当に「変更前のスクリプトが実行」されていますか?
結果がブラウザにキャッシュされているだけということはありませんか?
851:nobodyさん
11/07/01 19:54:14.53
>>849
9割くらいの確率で君の「勘違い」
852:nobodyさん
11/07/01 20:15:39.60 yvC2EG+s
>>850
ブラウザにキャッシュされているものかと思いましたので、
強制読み込みをしたり、キャッシュを捨てたり、
別のブラウザ(IR,FFなど管理が別の物)を使ったりしましたが、
結果は同じでした。
また、別のスクリプトをアップロードしたものかと思ったのですが、
レンサバ上の当該場所(FFFTPを使って、自動的にフォルダと同じ場所に移動する設定にしています。)
をFTPソフトで確認すると、変更済みのスクリプトがアップされています。
ところが、直接URLを叩いて実行すると昔のスクリプトが実行されているという現状です。
853:nobodyさん
11/07/01 20:20:46.92
1+1=2を1+3=4にしたが、1+3=2となる
HAHAHA!
854:nobodyさん
11/07/01 20:37:43.35
>>850
とりあえず以下の点だけ確認させてください。
「変更前のスクリプトがそのまま実行されてしまうことがあります」
「常に変更前のスクリプトが実行されています」
どっちですか?
855:850
11/07/01 20:38:50.76
失敬、>>854は>>852宛です。
856:nobodyさん
11/07/01 20:40:25.74
勘違いだったら裸で町内一周な
857:nobodyさん
11/07/02 01:06:12.95
>>854
オレは850じゃないけど、ミョーに偉そうだな。
マァ、サーバ側で負荷軽減の為にキャッシュやらなんやら入れる事はあるし、PHPのsmartyやらtwigのようにプログラム的にキャッシュしちまうって事もある。
だから、自分のプログラムがそういう性質のものかを調べて、サーバ側にそういう仕組みを使っていないかを聞いてみるまで確かな答えは分からん。
858:nobodyさん
11/07/02 02:33:40.58
このレベルの人間がそんなことわかるわけないでしょ
859:nobodyさん
11/07/02 02:37:17.99
echo "あいうえお";
って付け足してみればいいだろ
860:nobodyさん
11/07/02 11:25:17.61
>>857
前提を確認してるだけだろう
そこを取り違えると誤回答をすることになる
861:nobodyさん
11/07/02 18:15:04.23
入力確認のinputフィールドについて質問ですが、
受け取った入力内容をそのままエスケープしないで表示していいんですか?
<input type="text" name="test" value="ユーザから受け取った文字列">
" onmouseover="javascript:alert('XSS');
とかしても特に問題にならないようなのですが、
ブラウザが消してくれてるんですかね?
それともinputフィールドはエスケープしないでいいようになってるんでしょうか?
エスケープすると元の入力と文字数が違ってきたりするので、
<>とクオートだけエスケープして本登録時に戻せばいいですかね?
862:861
11/07/02 18:37:04.17
勘違いでした。
やっぱエスケープしないとXSSになりますね。
上のコードでちゃんとなりました。
863:nobodyさん
11/07/05 17:05:37.26 GCiV3fmJ
パスワードをドキュメントルート上のテキストに保存する場合平文で大丈夫でしょうか?
データベースに入れる時と同様ハッシュ化したほうがいいのでしょうか?
アプリケーション実装不備以外で、
ドキュメントルート上を見られる事態になると、サーバを乗っ取られたようなものなので、
いくらパスワードを隠していても意味ないですよね?
下位フォルダの認証部分のコードもダダ漏れでしょうし。
864:nobodyさん
11/07/05 17:26:58.50
HTTP では見れないところに置けばいい (deny でアクセスさせてないとかじゃなくてね)
865:863
11/07/05 17:32:54.44 GCiV3fmJ
>>864
ありがとうございます。
平文で大丈夫ということでいいでしょうか?
866:nobodyさん
11/07/05 17:33:42.28
パスワードを平文保存して rwxrwxrwx な状態で置いてたせいで
年始早々に謎の騒動が起きた巨大掲示板があったな。
867:nobodyさん
11/07/05 17:36:06.23
ドキュメントルート配下に置く場合は、
ソースが見られないという大前提があるなら暗号化
ソースも見られちゃうかも!って考えるなら可逆の暗号は無駄
不可逆なら暗号化が有効
868:nobodyさん
11/07/05 17:56:36.55
ようするにみんなよくわかってないんだね
誰一人回答になってない件
869:nobodyさん
11/07/05 18:03:48.77
否定ならゾウリムシでも出来る
870:nobodyさん
11/07/05 18:13:54.79
Q.ドキュメントルート上で平文でパスワードを保存しても大丈夫ですか?
A.ドキュメントルート上に置けばいい 平文かは知りません
A.平文保存したら謎の騒動が起きた ドキュメントルート上に置いてあったかは知りません
A.ドキュメントルート下では暗号化 ドキュメントルート上では知りません
完璧な答え
↓↓↓↓↓↓↓↓↓
871:nobodyさん
11/07/05 18:46:26.44
そんな質問する奴は首突っ込まないように。
セキュリティ関係の話は本質的に相手との知恵比べなんだから。
っつか、こんなとこで言質取っても意味ねーんでね?
そんなことして安心してるよーなバカはさっさと去ね
872:nobodyさん
11/07/05 19:09:29.89
PHPスレに閉じこもってろよ・・・
873:nobodyさん
11/07/05 19:11:19.36
結局は知識無いだけですやんうんこちゃん o(^-^)o
874:nobodyさん
11/07/05 19:48:28.22
セキュリティ系の質問はどいつも自信がないから的確に答えない
どのスレでもそれが真理
最初から黙ってればいいのにな
875:nobodyさん
11/07/05 20:55:20.44
ハッシュ化は意味あるよ
876:nobodyさん
11/07/05 20:59:28.33
なんで外におかねーんだよ
877:nobodyさん
11/07/05 21:03:36.20
あれほど中出しは危険だと…
878:nobodyさん
11/07/05 21:09:15.06
>>863
ハッシュ化した方がいい
879:nobodyさん
11/07/05 21:09:52.85
ハッシュにしたらパスワード再発行ができない←これで揉めたことがある
880:nobodyさん
11/07/05 21:12:35.77
まあリセットしかないわな
あと平文はスタッフが見えてしまうと言うのもあまりよろしくないな
881:nobodyさん
11/07/05 21:19:06.41
データベースの設定ファイルをハッシュ化するか?接続できないからしないだろ
外部との接続をするわけではないにしてもドキュメントルート上での平文が危険ならDBなんて使えないことになる
882:nobodyさん
11/07/05 21:20:55.86
>>879
メールアドレス情報に持たせてメールすればいいだけ
883:nobodyさん
11/07/05 21:33:05.17
>>881
君の言うドキュメントルートとは、どこのことを言ってるんだ?
884:nobodyさん
11/07/05 21:39:49.57
/usr/public_html/
885:nobodyさん
11/07/06 16:07:04.19
phpのhtmlentitiesで変換した文字列を
javascriptでデコードしたいんですけど
デコードする方法ってありますか?
886:nobodyさん
11/07/06 16:20:21.52
1.htmlentitiesで変換される文字列を調べる
2.javascriptで元に戻すスクリプトを書く
887:nobodyさん
11/07/06 17:12:51.17
>>886
やっぱりそれしかないですよね。
mysqlにhtmlentitiesした文字列をインサート。mysqlの検索結果をjsonとしてjavascriptに返す。javascriptでjsonから文字列を取得。文字列をデコード。という流れを作りたかったのですが。
888:nobodyさん
11/07/06 17:27:05.53
>mysqlにhtmlentitiesした文字列をインサート
何のために?
mysqlならmysql_real_escape_stringあるいはORMで用意されてるエスケープ用関数
でSQLインジェクション用の文字列を取り去る
取り出したものはhtmlspecialcharsでjson出力
javascriptではデコードせずそのまま出力
でいいじゃん
889:nobodyさん
11/07/06 17:27:47.58
取り去るじゃないな
エスケープするね
890:nobodyさん
11/07/06 17:29:32.13
UTF-8とUnicode(たぶんUTF-16のリトルエンディアン?)は同じように使っていいんですかね?
データベースがUnicodeでUTF-8で入れたり取り出したりしても特に文字化けとかは起きてないのですが
試しにSJISで入れると文字化けしました
891:nobodyさん
11/07/06 19:39:00.04
まぁほぼ同義って考えで良いかと
892:nobodyさん
11/07/06 19:40:23.21
不安なら、データ量増えるけど URL デコードとか
893:nobodyさん
11/07/08 23:38:49.67
2chで>>1と書くと1にリンクはられるのはどうやってるの?
894:nobodyさん
11/07/08 23:44:06.33
>>[数字] を正規表現で検索してリンクしてるだけ
895:nobodyさん
11/07/09 06:39:07.90
>>893
/>>?(\d+)/<a href="#$1">>>$1<\/a>/
896:nobodyさん
11/07/10 13:21:15.04
今までperl使ってて、新しくPHP覚えたんだけどこれ便利すぎwww
なんでperlとかあんの?ww正直いらなくね?ww
perlの存在理由誰か教えてくれよww
897:nobodyさん
11/07/10 13:41:37.65
PHPは動作するサーバーが多い。フリーでスクリプト動くなら第一がPHP。
898:nobodyさん
11/07/10 19:31:51.82
PHPは元々、perlで作られてたんだから、perlが存在しなかったらPHPもなかった
まあ、おまいのカーチャソのマムコみたいなもんだ
悪く言うなw
899:nobodyさん
11/07/10 20:59:24.41
んじゃjQueryもCで書きなおしてついでにブラウザに組み込んどいてくれよ
900:nobodyさん
11/07/11 19:12:07.82
>>896
元々Perlはコマンドラインなどで文字列処理に使うものであって、Webのための言語じゃなかった
まだWebを最優先にした言語が無かった時代に、たまたま
「文字列処理が得意」ってのがCGIに都合が良かっただけ
PHPというWebを念頭にした言語がある今、Perlは元のコマンドラインでの文字列処理に戻ればよかろう
901:nobodyさん
11/07/11 19:52:41.08
>>896みたいなことを言うやつがPerlにせよPHPにせよ十全に使いこなすことができてる(た)とは到底思えん
902:nobodyさん
11/07/11 20:16:54.04
お前よりは使いこなしてるから心配スンナ
903:896
11/07/12 00:27:01.97
皆さんレスありがとうございます。
草生やして煽り気味に書いたのに、perlのメリットが出てこないってことは
Web制作ならやはりPHPがよさそうですね。
904:nobodyさん
11/07/12 00:47:32.26
その程度のアドバイスで満足ならこれからも草生やし続ければいいんじゃないかね
905:896
11/07/12 01:14:58.19
>>904
満足も何もこれ以上何か出てきますか?
一応お礼言わないと人として。
906:nobodyさん
11/07/12 01:26:49.02
Perl、PHP、Ruby
どれも出来る事は同じ。
仕事で考えるなら PHP>>>Perl≧Ruby じゃないかな?
初めから mod 環境があるし、CGI としても動かせるし、今覚えるなら PHP 一択でいいと思うよ。
それでも自分は Perl 使うけど・・・
907:896
11/07/12 01:37:13.73
>>906
perlを使う理由は?
908:nobodyさん
11/07/12 01:48:34.94
化石ってことだよいわセンナ
909:nobodyさん
11/07/12 01:54:26.95
WebプログラミングはPHPでいい。
Perlも使ってるが、主な生息域は端末の中だな。
910:nobodyさん
11/07/12 03:28:00.29
>>907
作業量が違うとは言え同じ事が出来るわけだし、新しく言語を覚える気がないだけ。
perl の開発が止まれば乗り換えは考えるかも。
911:nobodyさん
11/07/12 03:56:44.16
メリット、デメリットって結局主観になってしまうんで話がかみ合わないんだよね。
だからスレを荒れ気味に誘導するときの定石。
よほどの馬鹿じゃない限り始めから答えなんて求めてなくて
先に何か別の目的があるんだと思う。
912:nobodyさん
11/07/12 04:46:46.83
一つの言語に固執する奴はダメプログラマ
913:nobodyさん
11/07/12 08:14:16.73
>>904
釣られた回答を期待して草を生やしてるんでしょ
君の小馬鹿にした態度が回答の質を下げてることに気がつかない?
914:896
11/07/12 11:24:20.96
>>910
覚える気がない?ていうことはPHPやったことない?
>>913
大変失礼いたしました。質の高い回答願います。
915:nobodyさん
11/07/12 11:44:34.46
昔、BASICが席捲してたのと似てるな、PHP
916:nobodyさん
11/07/12 15:51:43.17
>>914
php は過去に何回か使ってはいる。
構文が変化球ってワケじゃないから、覚えようとすればそこそこには扱えるようにはなるかな。
というのもあるから「perl が開発停止とかになったら使おう」ぐらい。
趣味で perl 弄ってるんだし、こんなもんかなと。
ただ 「何覚えればいい?」 と聞かれれば php の一択だよね。現状は。
917:nobodyさん
11/07/12 18:07:21.61
利点という訳じゃないが、Perlの方が面白くて使っててワクワクするかな
まぁ、面白さの分だけ覚える事が多くなって訳分からなくなるから、Perl嫌いだ!Perl覚えたくない!っつーなら、それはそれでいいと思うよ。
918:nobodyさん
11/07/12 18:51:35.86
xampp1.7.4をwindowsXPにインストールしました。
apacheなどは起動するのですが、PHPmyadminに入ろうとすると、以下のエラーが表示されPHPmyadminに接続できません。
エラー #2002 - サーバが応答しません (あるいはローカルの MySQL サーバのソケットが正しく設定されていません)
PHPmyadminに入りたいのですが、どうすればいいですか?
919:nobodyさん
11/07/12 19:38:40.92
問題です
phpmyadminは何サーバに接続するアプリケーションでしょうか?
920:918
11/07/12 19:47:34.36
>>919
mysqlサーバーです。
921:nobodyさん
11/07/12 19:48:53.93
正解です
それではどうすればよいでしょうか?
922:nobodyさん
11/07/12 19:51:31.70
>>917
1つのことをやりたいのに色んなサンプルが多いし、
perl4 までの間にクソサンプルが溢れまくったから、
コピペばかりで自分で考えられない人には辛いかもしれないね。
923:918
11/07/12 19:52:14.05
>>921
すいません。わかりません。教えてください。
924:nobodyさん
11/07/12 21:11:11.66
>>923
MySQLサーバを起動して下さい
925:918
11/07/12 22:01:03.55
>>924
本当にすいません。mysqlサーバの起動ってどうやるんですか?
xamppのコントロールパネルからmysqlのstartボタンをクリックして
Runningっていう状態にしてるんですが、これは起動したことになってないんですか?
さっきからググってるんですが、答えが見つかりません。
926:nobodyさん
11/07/12 22:02:32.49
初心者はXAMPP使うな
927:nobodyさん
11/07/12 22:21:53.19
XAMPPは初心者のためのものだろ。残念ながら彼は超初心者のようだけど。
まーがんばれ。
928:nobodyさん
11/07/12 22:28:47.78
XAMPP はある程度分かってる人がお手軽に扱おうとするもの。
本気で何も分からない人間が手を出すものじゃない。
929:nobodyさん
11/07/12 22:37:30.37
うむその通り
930:nobodyさん
11/07/12 23:09:13.00
PHPやるならUbuntuでやるべき
931:nobodyさん
11/07/12 23:21:09.43
>>925
コメンドプロンプト起動して
netstat -anってうってみ
TCPの80番と3306番ポートがLISTENINGになってればOK
932:918
11/07/12 23:40:00.50
>>931
3306はlisteningってでます。
80はそもそも何も出てこないです。
余談ですがバージョンを1.7.3に落としてみましたが、状況は変わっていません。
933:nobodyさん
11/07/12 23:44:36.60
>>932
80はhttpdのLISTEN PORT
Apacheがちゃんと起動してないんじゃね?リスタートしてみな。
俺はインストーラ嫌いだからxamppはliteしか使わないから
普通のxampp使ってるなら知らんけど
liteならsetup_xampp.batってので適当に設定してからじゃないと
パスの指定関係でうまく動作しないと思われる
934:918
11/07/13 18:42:20.63
>>933
解決しました!
ただ原因というか理由がわからないままです。
さっきなんとなくやってみたら、なぜかできたかんじです。
すごいモヤモヤするんですが、とりあえずできたのでよかったことにします。
これ以上考えても時間のムダでしょうし。
他の皆さんもありがとうございます。助かりました。
935:nobodyさん
11/07/14 01:14:29.98
質問させてください。PHP、MYSQL,Smartyです。
if ($A = $mysqli->query("SELECT文"))
{if (($A->B >= 1) && ($C != 'D'))
$C = 'E';
$A->close();
}
以上の文で二つ目のif文の中で{ }がないのですが
二つ目のif文は条件が真の場合のみ3、4行目は実行されるのでしょうか?
もしそうならばなぜあえて{ }を省略するのでしょうか?
if文などで調べましたがどういう構造になっているかがわかりません。
よろしくお願いいたします。
936:nobodyさん
11/07/14 01:22:12.73
URLリンク(www.php.net)
937:nobodyさん
11/07/15 01:51:14.99
データベースのコネクションは
1ページごとに切れますよね?
コネクションを使い回すことはできないのでしょうか?
それとも毎ページごとにデータ接続処理を入れるのは普通ですか?
938:nobodyさん
11/07/15 03:53:52.92
できるよ
939:nobodyさん
11/07/15 04:04:44.50
どうやるんですか?
940:nobodyさん
11/07/15 07:33:20.27
コネクションプールでぐぐれ
941:nobodyさん
11/07/15 08:40:28.45
横からですまんが
データベースの1ページってどういう意味なの?
942:nobodyさん
11/07/15 08:51:36.00
うわ、自分もコネクションプールって知らなかった。ホント恥ずかしいな
みんな、この機能実装してる?SNSみたいなアプリだと使うのが当然かな?
ある程度以上の規模のサービスを作るって言うテーマで、
フロント/サーバ両面でこういう実用的な機能や要件を紹介した本ってないのかな
943:nobodyさん
11/07/15 09:00:50.06
PHPじゃ使えんし
944:nobodyさん
11/07/15 12:54:28.53
えっ
945:nobodyさん
11/07/15 13:24:02.33
SNSとかでリードオンリーな情報ならキャッシュで対処するんじゃないですかね
946:nobodyさん
11/07/15 16:50:52.35
>>943
URLリンク(itpro.nikkeibp.co.jp)
947:nobodyさん
11/07/15 23:16:56.50
デメリットも分かって言ってんのかね?