質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

3回答

1463閲覧

Laravelを使ってログイン機能なしでユーザーを識別したいです

takopo

総合スコア484

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2019/05/25 04:40

質問させてください。
今Laravelを使ってシンプルな掲示板を作っているのですが、ログイン機能なしでユーザーを識別することは可能なのでしょうか。

やりたいこととしましては、ユーザーが記事を投稿すると同時に、「usersテーブル」にレコードを挿入という形をイメージしています。
usersテーブルにはランダムな英数字が入る「nameフィールド」を作成し、それをviewで表示させるのが良いかなと思っているのですが、どうやってユーザーを識別したらよいかが分からない状況です・・・
参考サイトはこちらになります。(ID:〇〇のところにnameフィールドの値を入れたいです。)
postsテーブルとusersテーブルの紐づけは可能です。またランダムな英数字を作成してレコードを挿入することもできます。

Laravelには「ユーザー認証」という機能があるようなのですが、いろいろ参考サイトを調べてみましても、どのサイトもログインありきで解説されていて、どのようにして実現させたらよいか困っております。
どなたか良い方法をご存知の方がいらっしゃいましたら、アドバイスいただけますと助かります。

開発環境は以下になります。
・vagrant
・Laravel5.8
・php 7.3

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

全く無理ではないですが、自作自演や荒らしが横行することになります。
ほとんど匿名掲示板と同じですよ。

「ユーザー認証」とは「本人以外が知らない情報(特にパスワード)で認証させる技術」のことを言うので、
フレームワークの機能を使うのであればフレームワークの仕様ありきの実装で設計するしかありません。
フレームワークが提供している機能から外れるやり方をしたいのであれば、そこは自分の責任においてフレームワークのコア部分に手を入れるしかありません。
※アップデートで整合性とれなくなってシステムが壊れても自分でなんとかできる人だけやってくださいという意味で・・

投稿2019/05/25 04:46

編集2019/05/25 04:50
m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takopo

2019/05/25 05:45

ご回答ありがとうございます。 なるほど、フレームワークの機能から外れる方法しかないのですね、大変勉強になりました。 自分の力ではそういった方法は難しそうなので、今回はユーザー識別機能はあきらめようかなと感じています。 匿名掲示板については確かにおっしゃる通りですね。今回初めて掲示板(ゲームの感想を書きこむような感じのもの)を運営しようと思ってまして、荒らしが横行するというのはいろいろと怖い部分もあるのですが、最初はフィルターなど荒らし対策も勉強になるかなと思いまして、実験的な意味合いでログインなしでいこうかと思っています。(どうしても手に負えなくなった場合はログインを導入する予定です。)
m.ts10806

2019/05/25 05:54

おっしゃっている「フィルター」が何のことかわかりませんが、 悪意をもったユーザー(特にクラッカー)は脆弱性を見つけるや否や一瞬でWebサイトを落とすような攻撃を仕掛けてくるので、考えうる対策は初めから入れておいたほうが良いかと思います。
takopo

2019/05/25 06:02

アドバイスありがとうございます。セキュリティについてもっと勉強していきたいと思います。
m.ts10806

2019/05/25 06:05

IPAの出している「安全なウェブサイトの作り方」を確認すると良いです。 関連書籍もありますので、実際に公開して運営するのであればかなり有益となるはずです。
takopo

2019/05/25 06:20

ありがとうございます。こちらのサイト参考にさせていただきます。
guest

0

参考サイトも別にユーザーの識別はしてないのでは。
IPか何かからIDを生成してるだけで。
IPが同じなら同じユーザー扱い。

usersテーブルはいらない。

難しく考えなくても
簡単に作るならいくらでも方法はある。

投稿2019/05/25 05:27

kawax

総合スコア10377

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takopo

2019/05/25 05:49

ご回答ありがとうございます。 なるほど、IPが同じなら同じユーザー扱いというのは考えもつきませんでした。 この方法でちょっと試してみようかなと思います。大変勉強になりました。 ベストアンサーは迷ったのですが、最初にご回答いただいたmts10806様にさせていただきました。申し訳ございません。
guest

0

lifetimeが長いcookieでも設定するくらいしかなさそうですね。
とはいえ、ブラウザが変われば一意性は失われるし、気休めにしかならないけど。

投稿2019/05/25 04:46

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takopo

2019/05/25 05:47

ご回答ありがとうございます。 そうなんですね、cookieを使う方法もいろいろ試してみたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問