- 1 名前:デフォルトの名無しさん(ワッチョイ 1342-Xqtn) mailto:sage [2016/11/09(水) 11:03:26.15 ID:eAjeihOa0.net]
-
PHPに関する下らない質問用避難スレです。 まず読むこと【PHPマニュアル】 www.php.net/manual/ja/ 前スレ 【PHP】下らねぇ質問はここに書き込みやがれ 5(実質6) echo.2ch.net/test/read.cgi/tech/1462971286/ 次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。 次スレを立てる時は本文の1行目に以下を追加して下さい !extend:on:vvvvv:1000:512 VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
- 986 名前:デフォルトの名無しさん (ワッチョイ 323c-ZZsN) mailto:sage [2017/03/12(日) 21:47:03.45 ID:T4N3k6YJ0.net]
- >>972
そこはエディタじゃなく実行できるPHPチュートリアルとかPHP問題集とかでもいいのよ 飛躍はしてると思うけど あとプログラムを別テーブルにして云々は全く自然じゃないぞ 実行するコード片をDBのレコードに保存してevalするのは変わらないんだから
- 987 名前:966 (ワッチョイ 337b-9RK0) [2017/03/13(月) 11:29:38.10 ID:v0LCVDYp0.net]
- 回答してくださった方々ありがとうございます。
仕様状況としては DBレコードには、会員情報に対応する付加情報がはいっていて 会員(ユーザー)ごとにある部分だけ個別にまったく異なるプログラムを動かさなければならない感じです。 100人いたら100通りプログラムがあり、 会員が増える度にクラスを足していったりSwitch文を増やしていく方法を取ろうかとも思いましたが 直接 個別のプログラムを 会員レコードに内包すると管理しやすいかなとも思ったので質問しました。 セキュリティー的にはよくないのはわかってるのですが、そのレコードをいじるのは 私か内部関係者のみだけがいじれるようにする予定です。 これは、たとえDBレコードにphpを直接書き込む方法をとらずに phpファイルのクラス等を増やしていく方法をとったとしても FTPやSSH上から内部関係者はいじれるようにする可能性があります。 (ただ、そうしたくないのでレコードにphpを書く方法を取りたいというのもあります) system exec file系 など 危険な関数は実行出来ないようにしてます。 また、レコード内に必ず ある文字列(十数桁の不規則な英数字)が入ってないと実行できません。 ただ、ぶっ飛んだ方法だったみたいなので もうちょっと安全かつ汎用的なやり方がないか考えてみます。
- 988 名前:デフォルトの名無しさん (ワッチョイ 3642-nt29) [2017/03/13(月) 11:47:28.29 ID:bicztMj/0.net]
- PHPってクラスのデストラクタの動作おかしくないですか?
これって二行目いれないとデストラクタが起動しないんですか? 変数が上書きされれば前回の情報は消えてデストラクタが動くはず。回避できないですか? $hd = new classXXX("000"); // $hd = null; $hd = new classXXX("000");
- 989 名前:デフォルトの名無しさん (ワッチョイ e3d6-1sZU) mailto:sage [2017/03/13(月) 11:59:39.89 ID:rgen9sgM0.net]
- >>974
・こうするじゃろ? Table::User ------------------- id | name | prog 1 | taro | UserProg1 2 | hanako | UserProg2 3 | ziro | UserProg3 -------------------
- 990 名前:デフォルトの名無しさん (ワッチョイ e3d6-1sZU) mailto:sげ [2017/03/13(月) 12:00:17.32 ID:rgen9sgM0.net]
- ・こうするじゃろ?
app ┬ core ├ prog │ ├ UserProg1.php │ ├ UserProg2.php │ ├ UserProg3.php │ : │ └ webroot ├ folder :
- 991 名前:デフォルトの名無しさん (ワッチョイ e3d6-1sZU) mailto:sage [2017/03/13(月) 12:00:44.04 ID:rgen9sgM0.net]
- ・app/prog/ ディレクトリーをautoloadの対象にするじゃろ?
- 992 名前:デフォルトの名無しさん (ワッチョイ e3d6-1sZU) mailto:sage [2017/03/13(月) 12:01:10.64 ID:rgen9sgM0.net]
- ・セレクトするじゃろ?
$result = "SELECT * FROM User WHERE WHERE id = '2'";
- 993 名前:デフォルトの名無しさん (ワッチョイ e3d6-1sZU) mailto:sage [2017/03/13(月) 12:02:59.41 ID:rgen9sgM0.net]
- ・こうじゃ!
$prog = new $result->id(); $prog->execute();
- 994 名前:デフォルトの名無しさん (ワッチョイ e3d6-1sZU) mailto:sage [2017/03/13(月) 12:08:29.70 ID:rgen9sgM0.net]
- ・間違いじゃ!
$prog = new $result->prog(); $prog->execute();
- 995 名前:デフォルトの名無しさん (ワッチョイ e3d6-1sZU) mailto:sage [2017/03/13(月) 12:14:48.64 ID:rgen9sgM0.net]
- >これは、たとえDBレコードにphpを直接書き込む方法をとらずに phpファイルのクラス等を増やしていく方法をとったとしても
> FTPやSSH上から内部関係者はいじれるようにする可能性があります。 恐らく、 おまえさんの書いたDBレコードを関係者がいじれるWEBアプリよりも、鍵方式のSSHの方が遥かに安全じゃ。 FTPは論外じゃ。
- 996 名前:975 (ワッチョイ 3642-nt29) [2017/03/13(月) 12:24:28.85 ID:bicztMj/0.net]
- 自己解決しました
静的メンバ変数を用意、維持してやったら出来ました
- 997 名前:デフォルトの名無しさん (ワッチョイ e356-aizu) mailto:sage [2017/03/13(月) 13:41:54.67 ID:AvyIY0iY0.net]
- >>974
とりあえずautoloadって知ってる? それにしても発想が斬新過ぎる まあ固定観念に縛られるのはよくないし こういう刺激?を求めてこのスレを定期的に見てるんだけど
- 998 名前:デフォルトの名無しさん (ワッチョイ f342-aox5) mailto:sage [2017/03/13(月) 14:08:04.12 ID:f3raQE2X0.net]
- >>974
つまり、プログラム自体はプログラマが作って どのプログラムを実行するかは、データ入力者が決めるようにするということ? プログラムも信頼できない人が作っておける環境だとまずいけど そうでなければ、DBにどんなプログラムを実行するかの情報を入れること自体は問題ないと思いますよ。 まぁ直接文字コードを入れさせると、入力間違いで変なプログラムが実行される危険があるので そこはプログラムリストから選ぶような仕組みにした方が良いと思うよ。 973 みたいにDBにプログラムリストを入れるのを最初から否定するのは発想が貧困すぎww
- 999 名前:デフォルトの名無しさん (ササクッテロル Sp57-xX7A) mailto:sage [2017/03/13(月) 14:17:41.62 ID:ba0kSSARp.net]
- >DBにプログラムリストを入れるのを最初から否定するのは発想が貧困すぎww
evalする事になんの抵抗も感じない土人がなんかほざいています。
- 1000 名前:デフォルトの名無しさん (ワッチョイ 624a-ZfXI) mailto:sage [2017/03/13(月) 16:11:36.68 ID:kanqNMIn0.net]
- DBは値を入れるもので、
プログラムコードはファイルに保存するもの。 おじさんそんなことも知らないの〜? って近所の小学生が言ってた。
- 1001 名前:デフォルトの名無しさん (ワッチョイ 323c-ZZsN) mailto:sage [2017/03/13(月) 16:38:55.99 ID:h57/U2+30.net]
- >>974
>100人いたら100通りプログラムがあり、 抽象化が不十分な気がする 必要なのはHTMLのテンプレートエンジンだったりしない?
- 1002 名前:デフォルトの名無しさん (スッップ Sd92-1frF) mailto:sage [2017/03/13(月) 19:01:38.92 ID:7S0lCjx+d.net]
- phper的にはそんなもんじゃないの
定年PGだし
- 1003 名前:デフォルトの名無しさん (アウアウウー Sa93-TeMv) mailto:sage [2017/03/14(火) 01:57:08.43 ID:08imKbv+a.net]
- wpがにたようなもんか
- 1004 名前:デフォルトの名無しさん (ワッチョイ f342-aox5) mailto:sage [2017/03/14(火) 08:57:38.80 ID:N5p5l+OE0.net]
- >>986
抵抗はあるけど、Webしか知らない人って感じで発想が貧困すぎでしょww もっとシステム全体を見て判断できるようになった方がいいと思うよ。
- 1005 名前:デフォルトの名無しさん (ワッチョイ e6c9-2hGO) mailto:sage [2017/03/14(火) 14:20:16.25 ID:vOSyRZGG0.net]
- >>986
そこをいかに安全にするか考えるのが楽しいんじゃん ideoneみたいにめぼしいシステムコール潰しておくとか 手はあるよきっと
- 1006 名前:デフォルトの名無しさん (ワッチョイ 3642-nt29) [2017/03/14(火) 14:22:58.56 ID:s4GXkib80.net]
- データベースのソースコードをいれること自体は問題なしだろ?
データベースと関係なく、読み込んだしたコードを実行する時点が問題なんだろ? データベースは関係ない。
- 1007 名前:デフォルトの名無しさん (ワッチョイ ef59-ZfXI) mailto:sage [2017/03/14(火) 19:41:44.29 ID:OXYXI7ST0.net]
- 自分がコード片を書くのにそんな制限かけてどうすんのって思う
テーブル分割してロール制御でいいんじゃないのか
- 1008 名前:デフォルトの名無しさん (ワッチョイ bf6c-1frF) mailto:sage [2017/03/14(火) 22:10:29.49 ID:4mHil5V80.net]
- そもそも最前線のフロントエンドに配備する必要なかろう
- 1009 名前:デフォルトの名無しさん (ワッチョイ e3d6-1sZU) mailto:sage [2017/03/15(水) 00:09:16.65 ID:HiQDR7mt0.net]
- >>991 : デフォルトの名無しさん (ワッチョイ f342-aox5)2017/03/14(火) 08:57:38.80 ID:N5p5l+OE0
> 抵抗はあるけど、Webしか知らない人って感じで発想が貧困すぎでしょww WEB以外を知ってたら、なんでDBにコードぶっこむことになるんだよ土人 何より、DBに入れるメリットが何処にあるんだ、アホなのか? >>992 : デフォルトの名無しさん (ワッチョイ e6c9-2hGO)2017/03/14(火) 14:20:16.25 ID:vOSyRZGG0 > そこをいかに安全にするか考えるのが楽しいんじゃん オメー個人が楽しいかどうかを仕事に持ち込むなよ 「いかに安全にするか」ってことは危険だとわかってるのに、 なんであえてそんなアホな手段を模索すんだよ、マゾか? こいつら、同一人物だろ
- 1010 名前:デフォルトの名無しさん (ワッチョイ bfb2-csvI) mailto:sage [2017/03/15(水) 00:30:23.86 ID:ko4BTSP20.net]
- >>974
とりあえずぱっと見たところで業務案件としては可変コード部分がテスト出来ないのは設計上まずいと思う 可変部分の具体的な(端的な)例を幾つか挙げてもらわにゃ分からんけど, >>988の言う通り抽象化するのが下手なだけな可能性は高い 可変コードにするなら実装案としては, ・コードは顧客毎にgitリポジトリを作成して管理 ・アプリケーション側で顧客毎のコードリポジトリを更新するAPI ・ベアリポジトリ(のmaster)へのpush時に上記APIを叩くフック な感じを提案しておく。 リポジトリ管理はGitLabとか使えばGUIでかなり複雑なことまで出来るしコード編集(masterへのpush)権限も制御出来る。 テストも自動で走らせられる。
- 1011 名前:デフォルトの名無しさん (ワッチョイ bfb2-csvI) mailto:sage [2017/03/15(水) 00:39:24.05 ID:ko4BTSP20.net]
- 次スレ立てるよ!
- 1012 名前:デフォルトの名無しさん (ワッチョイ bfb2-csvI) mailto:sage [2017/03/15(水) 00:43:22.66 ID:ko4BTSP20.net]
- ほい
【PHP】下らねぇ質問はここに書き込みやがれ 8 [無断転載禁止]©2ch.net echo.2ch.net/test/read.cgi/tech/1489506082/
- 1013 名前:デフォルトの名無しさん (ワッチョイ ef59-ZfXI) mailto:sage [2017/03/15(水) 02:46:08.52 ID:6L0FngKc0.net]
- >>997
また要件すり替えてワーワーと。git言いたいだけなんちゃうんかと
- 1014 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|