aboutsummaryrefslogtreecommitdiff
path: root/index.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'index.cgi')
-rwxr-xr-xindex.cgi9
1 files changed, 2 insertions, 7 deletions
diff --git a/index.cgi b/index.cgi
index 05a17b3..2470dc3 100755
--- a/index.cgi
+++ b/index.cgi
@@ -32,13 +32,8 @@ if $cgi.include?("create_poll") && $cgi.include?("poll_url")
createnotice = _("Please enter a descriptive title.")
else
if $cgi["poll_url"] == ""
- guessurl = polltitle.gsub(" ","_").gsub(/[\?\!\.]/,"")
- if guessurl =~ /^[a-zA-Z0-9_-]+$/ && !File.exist?(guessurl)
- pollurl = guessurl
- else
- chars = ("a".."z").to_a + ("1".."9").to_a
- pollurl = Array.new(8){chars[rand(chars.size)]}.join
- end
+ require "securerandom"
+ true while(File.exists?(pollurl = SecureRandom.urlsafe_base64($conf.random_chars)))
else
pollurl=$cgi["poll_url"]
end