これはおそらくばかげているようです。達成不可能な場合は、お知らせください。
だから:単純なホームネットワークファイル共有サーバー用にRaspbianとnginxを実行しているRasperry Pi(RPi)があります。私は主に学習のためにこれを行い、まっすぐに飛び込みました。とにかく、私のログインシステムは次のとおりです。
login.html:
<html>
...
<form action="cgi-bin/loginHandler.php">
<label for="username">Username:</label>
<input name="username">
<br/>
<label for="username">Password:</label>
<input name="password">
<input name="button" type="submit" value="Submit">
</form>
...
</html>
cgi-bin/loginHandler.php:
<?php
exec("./login.rb $arg1 $arg2")
?>
cgi-bin/login.rb:
#!/usr/bin/ruby1.9.1
#update-alternatives changed "ruby" to "ruby1.9.1"
cmdArray = Array.new
ARGV.each do |a|
cmdArray.push a
end
#backwards because I used push
if cmdArray[1] == "/u/afdsadf" and cmdArray[0] == "/r/unixporn"
htmlFile = File.new("loggedIn.html", "w+")
htmlFile.puts("<html><head></head><body>You are now logged in!</body></html>")
else
htmlFile = File.new("notLoggedIn.html", "w+")
htmlFile.puts("<html><head></head><body>You are now logged in!</body></html>")
end
「loggedIn.html」または「notLoggedIn.html」が確実に存在しない cgi-bin ディレクトリを確認したため、Ruby がエラーをスローしているか、まったく実行されていません。繰り返しになりますが、そもそも PHP を使用することはおそらく悪い考えでした。おそらくmethod
フォーム自体にも a が必要ですが、何を使用すればよいかわかりません。