アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在はUUID(unique_id)に格納して、それをURLに設定することで質問ごとにURLを生成しているのですが、http://www.irasuto.cfbx.jp/質問表示画面/?xxxxxxxx_xxxx_xxxx_xxxx_xxxxxxxxxxxx 
URLが長すぎるのではないかと感じております。

そこで単に質問ID連番をURLにすることを考えてみたのですが、セキュリティ面を考えたときにヤフー知恵袋やOKWABEのようにログインシステムを導入していないため、スクリプト等で荒らされる危険があるのではないかと危惧しております。

セキュリティを考慮するならURLは長いほうがよいと思うのですが、連番で生成する方法とどちらを選択するべきでしょうか?

$url = substr($_SERVER['REQUEST_URI'], -36);
$sql = 'SELECT * FROM sortable WHERE unique_id=%s';
$query = $wpdb->prepare($sql, $url);
$rows = $wpdb->get_results($query);

※現在のテーブル
https://i.imgur.com/8SF6LER.jpg

A 回答 (1件)

URL の構造で秘匿性を図るなど意味がありません。


その URL をリンクとして表示するページがどこかにあるかぎり、
自動収集されてしまいますので。

荒らし対策ならば、以下の様な方式を考えましょう
https://ja.wikipedia.org/wiki/CAPTCHA

余談ではありますが、

もっと根本的な危険があるので対策しましょう
参考)
安全なウェブサイトの作り方 - 1.1 SQLインジェクション
1-(i)-a SQL文の組み立ては全てプレースホルダで実装する。
1-(i)-b ...エスケープ処理等を行う...
https://www.ipa.go.jp/security/vuln/websecurity/ …
    • good
    • 1
この回答へのお礼

回答ありがとうございます、Wordpressという前提を書き忘れておりました申し訳ありません。
どうやら%sはプレースホルダーとして機能するようです。

https://developer.wordpress.org/reference/classe …

お礼日時:2023/08/11 02:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!