元スレ【PHP】ID出さんでも質問OKなスレ【初心者歓迎】2
php覧 / PC版 /みんなの評価 : ○
903 = :
apacheにroot権限あげるかsudoするしかないんじゃないかな
もしくは-rw-r--r--を-rw-rw-rw-とかにして書き込めるようにするとか。
一番いいのはrootで動く別のものに渡してやるとかじゃないかね。
こっちはもともとroot権限ないと作れないけどどれもあんまりお勧めできんな。
905 = :
そのくらい自分で入れろよ
906 = :
>>905
ん?どこで手に入れんの?
907 = :
ありました
どうも失礼
908 = :
PHPには、例えばココ(http://jigsaw.w3.org/css-validator/#validate_by_input)のように、
html、CSS、JavaScriptにあるような、構文のエラーをチェックしてくれるサイトはないのでしょうか?
後は、FireBugのようにバグを教えてくれる機能のあるソフトとか。
もしあるのであれば教えていただけませんか?
909 = :
動かして問題があればエラー出るじゃん
910 = :
>>908
構文チェックはphp -lでできる。
あとはerror_log等を見る。
デバッグという事なら、PDTなどのIDEを使い、ZendDebugger/xdebugなどで
リモートデバッグが行える。
911 = :
またOCNとチンピラが沸いてたのか
912 = :
>>910
すみません、php -l って、マイナスと小文字のエルですか?
どのように使うのでしょうか?
ググってみたのですが、また、マニュアルで検索してみたのですが、出てきませんでした
913 = :
>>912
http://www.php.net/manual/ja/features.commandline.php
915 = :
>>913
ありがとうございます
>>914
ダブルクォーテーションを使って検索するのですね・・・
知りませんでした
そのまま検索したら、PHP自体のことしか出てこなくて・・・
ありがとうございます
916 = :
プリペアドステートメントを使うだけでSQLインジェクション対策はばっちりなのでしょうか?
これだけでいいなら誰も被害に遭わないとですよね
917 = :
不要な「と」が入ってしまった、どこかの方言みたい
918 = :
>>916に便乗して聞きたいけど、
レコード数の少ないテーブルからSELECTで抽出するようなときも
プリペアドステートメントとかで対策する必要があるの?
危険なのは
UPDATE、INSERT、REPLACEとかでデータベースを書き換えるときや
認証でパスワードを扱うときぐらいかなって思ったんだけど。
919 = :
えっ・・・?
920 = :
>>918
「select * from hoge ; delete ~」のようにセミコロンで区切られて
複数クエリ実行されたらどうするの?
921 = :
>>920
どうやって実行されるの?
922 = :
>>921
例えが悪かったな、すまん。
wikiのSQLインジェクションに書いてある例を使わせて貰うと
SELECT * FROM users WHERE name = '(入力値)';
というSQLがあったときに、入力値に "' OR 't' = 't" と入れると
SELECT * FROM users WHERE name = '' OR 't' = 't';
↑
こうなるとある。この場合は全件選択されるだけだが
ここで入力値を "' OR 't' = 't' ; delete from TABLE名; --"
とすると、delete文が実行されてしまう。
923 = :
やっぱ皆さん、フレームワークは使っているのでしょうか?
PHP、PEAR、Smartyと学習してきましたが、フレームワークだけは何をやればいいのか分からなくて・・・
そもそも、どういうところで使用するのですか?
925 = :
>>920 >>922
つまり、SQL文にユーザの入力値が含まれてるような場合が危険ってことだよね?
入力値より前の部分がどんなSQL文になってるか、ユーザに知られちゃうことってあるの?
それとも当てずっぽうで攻撃する人がいるってこと?
926 = :
はぁ・・・?
927 = :
まぁあてずっぽうでもそれっぽいの入れてればそのうちあたるかもな
それっぽいのをブルートフォースであたれば寝て起きたらいくつかわかってるかもしれんな
SQL文の命令自体はもうきまってるわけだし。
928 = :
>>922
PDOでプレースホルダを使ってるけど、
$q = $db->prepare("SELECT * FROM users WHERE name=:username);
$q->bindparam(":username", $_POST['username']);
$q->execute();
こんなんじゃダメ??
$q->bindparam(":username", mysql_real_escape_string($_POST['username']));
のようにエスケープ関数を使わなきゃダメなのかな?
929 = :
何のためにPDO使ってんの?
930 = :
>>929
だめ?
932 = :
>>930
問題ないよ
933 = :
>>930
揚げ足取りはスルーするのがいいよ
934 = :
>>930
ばんばん使うといいよ
935 = :
ウェブサイトからメタタグを取得して、
"。" ごとに配列に入れたいのですがうまくいきません。
"、" で試したらうまくいったのですが、どうしてでしょうか。
$tags = get_meta_tags('http://sample.com');
$des = $tags['description'];
$arry = explode('。', $des);
936 = :
メタタグ内に。がないんじゃない?
937 = :
ページャーのクラスを自作してみましたが、
クラスは何年も前にC++でちょっと使った経験しかないので
扱い方が正しいのか不安です。
$p = new pager(引数いろいろ);
echo $p->linkhtml(),
こうすると他ページへのリンクが出て、そのリンクをクリックすると
「?page=10」のようなクエリ文字付きで同じスクリプトに飛びます。
そうすると、リンクをクリックする度に $p = new pager(...); で何度も
インスタンス化が繰り返されることになりますが、問題ないでしょうか?
また、C++ではオブジェクトが不要になったら自分で破棄していた
記憶がありますが、PHPではガベージコレクターが自動的に
破棄してくれるのでしょうか。
938 = :
>>936
"。" は、あるんですが、できないんです。
939 = :
>>937
スクリプトが終わると勝手にデストラクタが呼ばれるよ
940 = :
解決しました。
テキストエディタでphpのソースファイルを開いてみたら、
エンコードがなんとかかんとかって言われて
なぜか、"。"の部分が "B" になってました。
"B" を "。" に直したら解決しました。
942 = :
>>939
やっぱりそうなんですか。
リンクを押して飛ぶときにスクリプトが終了してオブジェクトが破棄されて
リンク先で新たにオブジェクトが作成される
と考えれば、問題ないんでしょうか‥。
943 = :
そうです
944 = :
飛ぶ時にスクリプトが終了?
945 = :
>>943
ありがとうございます。
安心しました。
>>944
クライアント-サーバ間でやり取りが終わった時ですかね。
失礼しました。
946 = :
CakePHPに興味があるのですが、bakeって何ですか?
本屋でざっと読んだくらいでは理解が出来ませんでした
949 = :
逆だろ
bakeをcakeにするんだろ
他の人が(スクリプトが勝手に)土台を作ってくれると思えばよい
あとは生クリーム塗ってデコレーションは自分でしてねと
950 = :
>>946じゃないけど、cakephpって今や必須?
どういうものかもわかってないんだけど。
いまテキストエディタでベタ打ちしてるんだけど、cakephpだと何か楽になるの?
今までに作ったwebアプリをcakephpに対応させる(?)ことは可能なのかな。
みんなの評価 : ○
類似してるかもしれないスレッド
- 【PHP】ID出さなくても質問OKなスレ【初心者歓迎】 (836) - [86%] - 2009/8/18 21:04 ○
- 【PHP】ID出さなくても質問OKなスレ【初心者歓迎】 (1001) - [86%] - 2009/1/28 18:17
- 【PHP】下らねぇ質問はここに書き込みやがれ 69 (1001) - [33%] - 2008/6/25 23:33 ○
- 【PHP】下らねぇ質問はここに書き込みやがれ 70 (1001) - [33%] - 2008/7/19 3:52 ○
トップメニューへ / →のくす牧場書庫について