edit - this shouldn't be marked as a duplicate. The question isn't how to prevent SQL injection attacks (I'm already using prepared statements elsewhere), it's related to why MySQL is killing a maliciously-injected query.    I'm testing out a web app with a connected MySQL database, specifically looking for potential SQL injection concerns and wondering how to prevent such attacks in this specific case.  One page loads a person's information from the database based on a unique ID number, which is visible through the page's URL. Obviously, this is a concern in its own right - I could simply change the ID from "?id=2" to "?id=3" to load a new record from the database - but the issue I'm more concerned with at the moment is a URL-based attack to execute a "bad" query on top of the intended query.  The intended query looks something like this: ... where person.ID="10" and person.ID = notes.ID and ...  By changing the URL, I'm able to close the parameter that's looking for an ID and execute another, potentially malicious query, like this:  ... ?id=10"; drop table person; select * from notes where ID=" ...    which would cause the following queries to be executed:  ... select * from person, notes where id="10"; drop table person; select * from notes where ID="" and ...   I've been able to get this malicious set of queries to print (echo) to my webpage, so I know it's a vulnerability. However, when I try to execute this exact query in MySQL, it hangs for several seconds before exiting MySQL completely with the response "Killed" and no further explanation.  My question, then, is what's causing MySQL to kill this malicious query and exit? This seems like a security feature, but I don't know what it'd be - those queries are perfectly fine on their own. I'm also confused by the lack of error message beyond "Killed" if anyone has come across a similar situation.
If user input is inserted without modification into an SQL query, then the application becomes vulnerable to , like in the following example:  $unsafe_variable = $_POST['user_input'];   mysql_query("INSERT INTO `table` (`column`) VALUES ('$unsafe_variable')");   That's because the user can input something like value'); DROP TABLE table;--, and the query becomes:  INSERT INTO `table` (`column`) VALUES('value'); DROP TABLE table;--')   What can be done to prevent this from happening?
Does $\det(A + B) = \det(A) + \det(B)$ hold? Well considering two $n \times n$ matrices does the following hold true: $$\det(A+B) = \det(A) + \det(B)$$ Can there be said anything about $\det(A+B)$?  If $A/B$ are symmetric (or maybe even of the form $\lambda I$) - can then things be said? List user's folder access permissions Is a black hole singularity a single point? General relativity is expressed in terms of differential geometry, which allows you to do interesting things with the coordinates: multiple coordinates may refer to a single point, eg. the  has whole lines at the top and the bottom that correspond to the North and South poles, respectively; or a single coordinate may refer to multiple points, for example by using inverse geometry the origin refers to all the points infinitely far away.  So, is the singularity just a single point in the curved spacetime, or can it be a more extended object, described by a single coordinate? Can't install any app, App Store asks for credit card I haven't been installing anything on my iPad Mini for the past few weeks. But previously, I just had to tap on "Install", enter my Apple ID password and go.  Now, for every new application, even those free ones, I have to confirm each time, that I'm 17 or over. And then App Store asks to enter my credit card information. If I disagree and hit "Cancel", installation process is interrupted and I can't install any application, even free one.  I don't trust Apple at all and I'm not willing to share my credit card information, especially that I'm installing only free applications.  I'm pretty sure that I haven't changed anything in the configuration of my iPad Mini for ages.   Am I missing some significant change to the App Store or this is some kind of bug or virus? Is there anything I can do in this situation? How can I install a free application from the App Store, without having to share my credit card information with Apple? What to do after visiting unsafe site No hats on the mobile version? Is there an unsubdivide function in Blender? I am wondering if there is a modifier or tool that will essentially undo a subsurf or subdivide command. Home Electric Panel Questions I’m having a pool put in and the pool guys said they need a 20 amp breaker for the pool equipment. My outside panel says 100 amps (see picture). But my panel inside adds up well over 100 amps. Is this normal?  The breakers never trip even with the dryer, AC, and other appliances running. How to backup 20+TB of data? We have a NAS server at the company I work for that is being used for storing photography sessions. Each session is approximately 100gb. Over the last couple of years this server has accumulated 10+ TB of data, and we are increasing the amount of photoshoots exponentially. I estimate that by the end of next year we will have 20+ TB stored on this NAS. We are currently backing this server up to tape using LTO-5 tapes with Symantec BackupExec. Since the size of this server has grown, full backups of this server are not completing overnight. Does anyone have any suggestion on how to backup this amount of data? Should we be backing it up to tape? Are there any other options which may be better? how to set Image and text at the center of the button How to verify $H\otimes K \cong \bigoplus\limits_{i\in I}H$ Let $H,~K$ be the Hilbert space. if $\{v_{j}\}_{j\in J}\subset H$ and $\{w_{i}\}_{i\in I}\subset K$ are the orthonormal bases, then how to construct the isomorphic mapping: $H\otimes K \rightarrow \bigoplus\limits_{i\in I}H$. Here, the $H \otimes K$ is the tensor product of two Hilbert space. z-score and Normal Distribution Proving an infinite number of primes of the form 6n+1 Busy Device on Umount I often experience a problem to umount a directory:  umount /mnt/dir umount: /mnt/dir: device is busy   There are many reasons why the device is busy. Sometimes there are processes running which have open locks on it, sometimes there are other directories mounted on top of /mnt/dir.  My question:  What are the steps to check why a directory couldn't be unmounted.  I know there are many reasons, but it's ok if you explain a specific solution.  [EDIT]  [X]  running processes on mounted volumes.   [X] another volume is mounted on top of a volume we want to unmount   [_] NFS locks the volume we want to unmount "Install Spotify" can't be opened because Apple cannot check it for malicious software I'm running macOS 10.15 Catalina Beta.  When I try to install Spotify I see the following error:    Is this a Spotify issue or a Catalina issue?  Thanks. Confused AUC ROC score I am working on binary classification problem, I try to evaluate the performance of some classification algorithms (LR,Decission Tree , Random forest ...). I am using  a cross validation technique (to avoid over-fitting) with AUC ROC as scoring function to compare the performance of the algorithms, but I am getting a weird results with Random forest and AdbBoost, I have a perfect AUC_ROC score (i.e. =1) despite the fact that the recall(TPR) and FPR of this algorithms are different from 1 and 0 respectively .  def FPR(y_true, y_pred):     tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()     result = fp / (fp+tn)     return result def FNR(y_true, y_pred):     tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()     result = fn / (tp+fn)     return result FPR_scorer = make_scorer(FPR) FNR_scorer = make_scorer(FNR)     def get_CrossValResults2(model,cv_rst,bestIndx):     best=pd.DataFrame.from_dict(cv_rst).iloc[bestIndx]     roc=&quot;{:.12f}&quot;.format(best['mean_test_roc_auc'])     acc =&quot;{:.0%}&quot;.format(best['mean_test_accuracy'])     prec =&quot;{:.0%}&quot;.format(best['mean_test_precision'])     rec =&quot;{:.0%}&quot;.format( best['mean_test_recall'])     f1 =&quot;{:.0%}&quot;.format(best['mean_test_f1'])     r2=&quot;{:.2f}&quot;.format(best['mean_test_r2'])     g_mean=&quot;{:.2f}&quot;.format(best['mean_test_gmean'])     pr_auc=&quot;{:.8f}&quot;.format(best['mean_test_pr'])     fnr=&quot;{:.0%}&quot;.format(best['mean_test_fnr'])     fpr=&quot;{:.0%}&quot;.format(best['mean_test_fpr'])     rst = pd.DataFrame([[ model, acc,prec,rec,fpr,fnr,f1,roc,pr_auc,g_mean,r2]],columns = ['Model', 'Accuracy', 'Precision', 'Recall','FPR','FNR', 'F1-Score','ROC_auc','PR_auc','gmean','r2'])     return rst        cross_val_rst = pd.DataFrame(columns = ['Model', 'Accuracy', 'Precision', 'Recall','FPR','FNR', 'F1-Score','ROC_auc','PR_auc','gmean','r2'])              scoring = {'accuracy':'accuracy','recall':'recall','precision':'precision','fpr':FPR_scorer,'fnr':FNR_scorer,'f1':'f1' ,'roc_auc':'roc_auc','pr':'average_precision','gmean':Gmean_scorer,'r2':'r2'}     param_grid = {'n_estimators': [200],               'max_depth': [80,90],               'min_samples_leaf': [2,3, 4],             'min_samples_split': [2,5,12],             'criterion': [ 'gini'],              'class_weight' : [class_weights], 'n_jobs' : [-1]}  clf = GridSearchCV(RandomForestClassifier(class_weight=class_weights), param_grid, cv=kfold,scoring=scoring,refit=refit)#Fit the model bestmodel = clf.fit(X,Y)       cross_val_rst = cross_val_rst.append(get_CrossValResults2(model='Random Forrest',bestIndx=bestmodel.best_index_,cv_rst=bestmodel.cv_results_),ignore_index=True) Wall of Sand on Difficult Terrain Looking into  prompted this inquiry:  What happens when you move through a wall of sand on difficult terrain?  This involves the understanding that wall of sand changes the cost of moving 1 foot to 3 feet and that difficult terrain typically changes the cost of moving 1 foot to 2 feet. Check for missing fonts/characters in XeLaTeX? Recently, the titles to some questions have been displaying as "undefined":    "undefined" is replaced with the question's true title upon refreshing the page. Is this a bug? Split string on spaces in Java, except if between quotes (i.e. treat \"hello world\" as one token)