我在制作一个聊天应用程序,并使用.htaccess
文件来阻止外部消息来源阅读消息。但是,这也阻止了JavaScript发送消息。我的JavaScript是:使用JavaScript安全地发布消息
$("#sendMsg").onclick(function(){
$.post('post.php',
{ msg : $("#msgBox").val(), user : getCookie('username')},
function(result) {alert(result);});
});
我对post.php
PHP是:
<?php
$message = $_POST['msg'];
$user = $_POST['user'];
$servername = "localhost:3306";
$username = "user";
$password = "pass";
$dbname = "dbname";
$conn = mysqli_connect($servername, $username, $password, $dbname);
$sql = "INSERT INTO tablename (username, message) VALUES ('" . $user . "', '" . $message . "'); SELECT * FROM tablename";
$result = mysqli_query($conn, $sql);
$numofmessages = 0
while($row = mysqli_fetch_assoc($result)) {
$numofmessages++;
echo $numofmessages;
?>
编辑:的.htaccess
文件有:
order deny, allow
<FilesMatch "post.php">
deny from all
</FilesMatch>
如果没有.htaccess
文件,任何人都可以发送POST请求到post.php
文件以添加消息,但是如果有一个.htaccess
文件,JavaScript也不能发送POST请求。有没有人有这个好的解决方案?
那么,没有你在'.htaccess'风格文件中发布规则,我们就无能为力...... – arkascha
你如何验证用户?你为什么不呢? –
不相关,但您的代码易受sql注入影响。见[这里](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)如何保护自己免受它。 – Sumurai8