徹夜明け

徹夜でリハビリのサービスを作って公開して帰ってきて寝て、起きたら早速壊れていた。っていうか入力を何一つバリデーションしてない!いくらなんでもこんなコードはないだろーというレベルだ。さっそく「">」なんて入力されていた。幸い実害のあるコードは埋め込まれてなかったけど。

というわけでさっそく

    # validation
    import string
    if len(uk_asin) != 10: raise RuntimeError("Invalid ASIN")
    acceptable_letter = string.ascii_uppercase + string.digits
    if not all(c in acceptable_letter for c in uk_asin):
        raise RuntimeError("Invalid ASIN")

なんてコードを書いたのでした。最初から書いとけよ自分。