icon

(重要) 諮問機関を作成する可能性について
ご意見を伺いたい。

できる限り長くならないようにしたつもりです。
アンケートがありますので、お時間があれば回答を頂けると幸いです。
※強制する物ではないのでスルーしてもOK! 回答も直感で大丈夫です。


前提:
・アンケート結果は今後の方針について決定する物ではない
・店子さんたちに、思いついた手法の
可能性について聞いてみたい


諮問機関(しもんきかん)とは:
私が「これってどうなんだろう」と思ったときに参考となる意見をざっくばらんにあげてくれる人達
多様な意見が上がることが重要視されます。右とか左とか賛成とか反対とか、いろんなスタンスで何か色々。
※意見を参考にしつつ、最終的には私が決定することになります。


詳細:
希望者は匿名で参加できる。(責任も無い)
同じ人が賛否両論の意見を言っても良い。
場に参加しているとはいえ、発言は強制されない。
気になるテーマがあったときだけ意見をくれれば良い。
攻撃的な発言は、ダメ。



例:
私が「こんな発言をしたい」「こんな方針をとりたい」というケースの時に、影響を懸念して事前に意見を聞いたり、熟慮したい時に使う。
※必ずしも毎回使うわけではない


メリット:
個人で扱うにはシビアなケースで熟慮が出来る
思考過程や検討内容がすぐに出せる
(出す必要があるかどうかは別)
様々な立場の人を考慮した上での判断が出来る


デメリット:
偏った意見だけでは意味が無いので、意見が尽くされるまで私の判断が遅れる
採択されない意見を出した人はモヤるかもしれない。
ネット上でこれが機能するかが未知数である


アンケート:
そのような場を作成する可能性について、どう思われますか?
※今はアンケートのみの回答でお願いします。ご意見を募ると荒れてしまいそうなので。


:tanako_aki:​ ​:yorosiku_onegai:

  • あり。何なら参加したい。0
  • あり。やってみれば良いと思う。0
  • なし。もうすこし考えてみるべき。0
  • なし。絶対に辞めておけ。0
icon

提携している「dicekey.jp」さんですが、超大量のSPAMに襲われダウン中とのことでした。
連合ノートが貯まってしまうので一時的に配信を停止しますが、サーバーが復活次第、配信を再開しますー。

icon

QR_SPAM対策について

各サーバーの管理人さんへ:
対応できそうなプログラムが作成出来たので実行し、動作を確認しています。

動作内容:
1.添付ファイルのQRコードを判別
2.該当URLだった場合は続く

3.ユーザーのノートを削除
4.ユーザーをBAN
5.ユーザーの所属するサーバーをブロック
(後日手動で解除してください)


プログラム自体は後悔すると悪意ある第三者に利用されてしまうため、QR判定部分だけ公開します。
他の対応法も幾つか見つかっています。
今後に備えてノイズ混じりのQRコードを判定できる、という用意をしました。
本当に困っているサーバー管理者さんはご相談下さい。
助力する用意があります。

import cv2
import numpy as np
from pyzbar.pyzbar import decode

def preprocess_image(image_path):
    img = cv2.imread(image_path)
    img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    return img_gray

def invert_and_remove_noise(image_file, threshold=30):
    gray_image = cv2.imread(image_file, cv2.IMREAD_GRAYSCALE)
    inverted_image = cv2.bitwise_not(gray_image)
    _, mask = cv2.threshold(inverted_image, threshold, 255, cv2.THRESH_BINARY)
    cleaned_image = cv2.bitwise_and(inverted_image, inverted_image, mask=mask)
    return cleaned_image

def decode_qr_with_pyzbar(image):
    decoded_objects = decode(image)
    results = []
    for obj in decoded_objects:
        results.append(obj.data.decode('utf-8'))
    return results

def decode_saved_images(image_file):
    # グレースケール
    print(f"\n{image_file}...")
    image = cv2.imread(image_file, cv2.IMREAD_GRAYSCALE)

    # Pyzbar
    pyzbar_results = decode_qr_with_pyzbar(image)
    if pyzbar_results:
        print("Pyzbar:")
        for result in pyzbar_results:
            print("データ:", result)
    else:
        print("Pyzbar_NG")

def main(image_path):
    gray_image = preprocess_image(image_path)
    cv2.imwrite('grayscale_image.png', gray_image)
    decode_saved_images('grayscale_image.png')
    # 反転して薄い部分を削除
    inverted_cleaned_image = invert_and_remove_noise('grayscale_image.png')
    cv2.imwrite('inverted_cleaned_image.png', inverted_cleaned_image)
    # 反転した画像でQRコード解析を実施
    decode_saved_images('inverted_cleaned_image.png')

if __name__ == "__main__":
    image_path = "./spam1.jpeg"
    main(image_path)

店子さんへ:
もしQRコードのSPAMに生き残りがいれば教えて下さい。
改良します。


:takusuki:​ ​:yorosiku_onegai: